Add support for classmethod converters in attrs plugin
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 20.6k
- Forks
- 3.3k
- Métriques de merge des PR
- Métriques de PR en attente
Description
import attr
@attr.s
class Bar:
b = attr.ib()
@classmethod
def make(cls, one: int) -> 'Bar':
return cls(one)
@attr.s
class Foo:
a = attr.ib(converter=Bar.make)
error: Unsupported converter, only named functions and types are currently supported
Attrs is perfectly happy with make
>>> Foo(1)
Foo(a=Bar(b=1))
Granted the converter limitations are a known issue, I couldn't find this use-case covered anywhere.
Guide de contribution
Ouvrir 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.
Piste de recherche
Commencez par reproduire l’erreur signalée avec l’exemple de classmethod converter de l’issue, puis suivez la gestion des converters par le attrs plugin. Le travail est terminé lorsque les classmethod converters tels que Bar.make sont acceptés sans l’erreur unsupported-converter et que l’exemple reste correctement vérifié du point de vue des types.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- devtools
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100