Flask plugin does not gracefully fail when view is None
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 45/100
Línea de trabajo
Empieza en flask.py, en path_helper, y compara el comportamiento de view=None con el manejo de PluginMethodNotImplementedError mostrado en core.py. Verifica el flujo de path-helper con múltiples plugins y confirma que la ausencia de view permite que se ejecuten los plugins posteriores sin activar la aserción. Se considera terminado cuando el plugin de Flask ya no bloquea ese flujo cuando falta view.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I cannot use spec.path without providing view.
In flask.py:
def path_helper(
self,
path: Optional[str] = None,
operations: Optional[dict] = None,
parameters: Optional[List[dict]] = None,
*,
view: Optional[Union[Callable[..., Any], "RouteCallable"]] = None,
app: Optional[Flask] = None,
**kwargs: Any,
) -> Optional[str]:
"""Path helper that allows passing a Flask view function."""
assert view is not None
The assert statement completely fails, this means that if someone was to define multiple plugins for apispec, then because this one fails any time view is not defined, there is no way forward.
Inside core.py inside the apispec, library, they handle any PluginMethodNotImplementedErrors, and move on. I would suggest raising that exception instead.
for plugin in self.plugins:
try:
ret = plugin.path_helper(
path=path, operations=operations, parameters=parameters, **kwargs
)
except PluginMethodNotImplementedError:
continue
- Lenguaje dominante
- Python
- Estrellas
- 33
- Forks
- 25
- Merge medio
- 6 h 59 min
- PR fusionados (30 d)
- 7
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
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 marshmallow-code/apispec-webframeworks
-
Dependency DashboardAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
marshmallow-code/apispec-webframeworks#187 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
marshmallow-code/apispec-webframeworks#107 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 55/100
marshmallow-code/apispec-webframeworks#99 · 1 comentario · 2 reacciones ·
Los mantenedores suelen responder en 1 día
-
help wanted refactor
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
marshmallow-code/apispec-webframeworks#17 ·
Los mantenedores suelen responder en 1 día
-
enhancement feedback welcome help wanted
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
marshmallow-code/apispec-webframeworks#15 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de marshmallow-code/apispec-webframeworks
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
btclib-org/btclib#3062 ·
Los mantenedores suelen responder en 1 día
-
Run evals automatically in CIAbiertoarea:evals area:infra enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
jse-avl/support-bot#4 · 1 comentario ·
-
bug good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
qte77/agentic-job-offer-to-application-kit#487 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
On a free-threaded build, `_decrypted` can report a ledger locked mid-sign as a damaged fileAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
btclib-org/btclib-wallet#801 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
documentation good first issue
Dificultad 1/5 1-3 horas Aptitud para principiantes 94/100