Backend bails out when submitting query without data source: `KeyError: 'datasource'`
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 65/100
Línea de trabajo
Empieza en patzilla/navigator/services/util.py, en query_expression_util_handler y make_expression_filter, donde el traceback muestra que se accede a la clave 'datasource', que falta. Sigue cómo se valida y se gestiona la solicitud de consulta cuando no se selecciona ninguna fuente de datos y añade o actualiza una prueba específica para esa solicitud. La tarea estará terminada cuando enviar una consulta de este tipo ya no provoque un KeyError en el backend.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Problem
Navigating around wildly, I have been able to submit a query without selecting a data source, which currently makes the backend bail out.
Details
2026-10-27 13:49:04,182 ERROR [waitress ][waitress-2] Exception while serving /api/util/query-expression
Traceback (most recent call last):
File "/path/to/site-packages/waitress/channel.py", line 430, in service
task.service()
~~~~~~~~~~~~^^
File "/path/to/site-packages/waitress/task.py", line 167, in service
self.execute()
~~~~~~~~~~~~^^
File "/path/to/site-packages/waitress/task.py", line 435, in execute
app_iter = self.channel.server.application(environ, start_response)
File "/path/to/site-packages/waitress/proxy_headers.py", line 64, in translate_proxy_headers
return app(environ, start_response)
File "/path/to/site-packages/paste/deploy/config.py", line 306, in __call__
return self.app(environ, start_response)
~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
File "/path/to/site-packages/pyramid/router.py", line 274, in __call__
response = self.execution_policy(environ, self)
File "/path/to/site-packages/pyramid/router.py", line 283, in default_execution_policy
return request.invoke_exception_view(reraise=True)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
File "/path/to/site-packages/pyramid/view.py", line 787, in invoke_exception_view
reraise_(*exc_info)
~~~~~~~~^^^^^^^^^^^
File "/path/to/site-packages/pyramid/_compat.py", line 178, in reraise
raise value.with_traceback(tb)
File "/path/to/site-packages/pyramid/router.py", line 281, in default_execution_policy
return router.invoke_request(request)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
File "/path/to/site-packages/pyramid/router.py", line 249, in invoke_request
response = handle_request(request)
File "/path/to/site-packages/pyramid/tweens.py", line 43, in excview_tween
response = _error_handler(request, exc)
File "/path/to/site-packages/pyramid/tweens.py", line 13, in _error_handler
response = request.invoke_exception_view(exc_info)
File "/path/to/site-packages/pyramid/view.py", line 774, in invoke_exception_view
response = _call_view(
registry,
...<7 lines>...
request_iface=request_iface.combined,
)
File "/path/to/site-packages/pyramid/view.py", line 683, in _call_view
response = view_callable(context, request)
File "/path/to/site-packages/pyramid/viewderivers.py", line 401, in viewresult_to_response
result = view(context, request)
File "/path/to/site-packages/pyramid/tweens.py", line 41, in excview_tween
response = handler(request)
File "/path/to/site-packages/pyramid/router.py", line 147, in handle_request
response = _call_view(
registry, request, context, context_iface, view_name
)
File "/path/to/site-packages/pyramid/view.py", line 683, in _call_view
response = view_callable(context, request)
File "/path/to/site-packages/pyramid/config/views.py", line 169, in __call__
return view(context, request)
File "/path/to/site-packages/pyramid/config/views.py", line 188, in attr_view
return view(context, request)
File "/path/to/site-packages/pyramid/config/views.py", line 214, in predicate_wrapper
return view(context, request)
File "/path/to/site-packages/pyramid/viewderivers.py", line 436, in rendered_view
result = view(context, request)
File "/path/to/site-packages/pyramid/viewderivers.py", line 144, in _requestonly_view
response = view(request)
File "/path/to/site-packages/cornice/service.py", line 493, in wrapper
response = view_(request)
File "/path/to/patzilla/patzilla/navigator/services/util.py", line 60, in query_expression_util_handler
expression_data = make_expression_filter(data)
File "/path/to/patzilla/patzilla/navigator/services/util.py", line 69, in make_expression_filter
datasource = data['datasource']
~~~~^^^^^^^^^^^^^^
KeyError: 'datasource'
- Lenguaje dominante
- Python
- Estrellas
- 123
- Forks
- 31
- Merge medio
- 2 h 50 min
- PR fusionados (30 d)
- 66
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de ip-tools/patzilla
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
ip-tools/patzilla#139 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
UI: Update BabelAbiertodependencies help wanted javascript
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 1 día
-
js: Update `elliptic`Abiertodependencies help wanted javascript
Dificultad 2/5 1-3 horas Aptitud para principiantes 45/100
ip-tools/patzilla#181 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
dependencies javascript
Dificultad 5/5 Más de una semana Aptitud para principiantes 15/100
Los mantenedores suelen responder en 1 día
Todos los issues de ip-tools/patzilla
Issues similares
-
area:scripts area:tests bug priority:later
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Ikalus1988/MisakaNet#4358 ·
Los mantenedores suelen responder en 1 día
-
Discovered ports from service discovery are never propagated to modules in Module.load()Posiblemente ocupada @vishalmore90 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
OWASP/Nettacker#1828 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
aws-samples/sample-per-model-bedrock#708 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
[Performance] Bound resolve_api_hashes raw fallback reads to the 1 MiB region actually scannedAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
sjkim1127/Reversecore_MCP#365 ·
Los mantenedores suelen responder en 1 día