Flask plugin does not gracefully fail when view is None
Les mainteneurs répondent en général sous 1 jour
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 45/100
Piste de recherche
Commencez dans flask.py, au niveau de path_helper, et comparez le comportement de view=None avec la gestion de PluginMethodNotImplementedError présentée dans core.py. Vérifiez le flux de path-helper avec plusieurs plugins et confirmez qu'une view manquante permet l'exécution des plugins suivants sans déclencher l'assertion. C'est terminé lorsque le plugin Flask ne bloque plus ce flux lorsque view est absente.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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
- Langage dominant
- Python
- Étoiles
- 33
- Forks
- 25
- Merge moyen
- 6 h 59 min
- PR mergées (30 j)
- 7
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de marshmallow-code/apispec-webframeworks
-
Dependency DashboardOuverte
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
marshmallow-code/apispec-webframeworks#187 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
marshmallow-code/apispec-webframeworks#107 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 55/100
marshmallow-code/apispec-webframeworks#99 · 1 commentaire · 2 réactions ·
Les mainteneurs répondent en général sous 1 jour
-
help wanted refactor
Difficulté 4/5 3-5 jours Accessibilité débutants 25/100
marshmallow-code/apispec-webframeworks#17 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement feedback welcome help wanted
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
marshmallow-code/apispec-webframeworks#15 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de marshmallow-code/apispec-webframeworks
Issues similaires
-
documentation good first issue priority: P2 status: ready
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
RhinoLink-Tech/data-fabric#500 ·
Les mainteneurs répondent en général sous 1 jour
-
backlog
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
EchoTools/nevr-runtime#2384 ·
Les mainteneurs répondent en général sous 1 jour
-
[Bug]: The H2 series' and the H3C's fan 3 is labelled "Chamber Fan", Bambu calls it the exhaust fanOuvertearea:ui
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
btclib-org/btclib#3062 ·
Les mainteneurs répondent en général sous 1 jour
-
Run evals automatically in CIOuvertearea:evals area:infra enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
jse-avl/support-bot#4 · 1 commentaire ·