What is the best way to have a "factory method" style?
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 25/100
Piste de recherche
Commencez par le point d’entrée d’exemple utilisant fire.Fire(dispatch) et les définitions de classes référencées dans libs/ado.py. Comparez le dispatch actuel basé sur un dictionnaire avec l’invocation demandée --obj_type=Foo, puis déterminez le périmètre pris en charge et la manière dont l’achèvement serait vérifié.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Right now I ended up with a following approach ( not sure if it the best):
import fire
import foo
import bar
def foo(*args):
Foo(*args).configure()
def bar(*args):
Bar(*args).configure()
def dispatch(**args):
print("arguments passed", args)
"""Factory Method"""
localizers = {
"policy": foo,
"repo": bar,
}
return localizers[args["obj_type"]](args)
if __name__ == '__main__':
fire.Fire(dispatch)
Ideally I would want that Fire method allow me to pass classnames as variable which I define through a command line, something like that:
from ado import * # Repo and Policy classes are defined at libs/ado.py
if __name__ == '__main__':
fire.Fire(obj_type)
python script.py --obj_type=Foo
Not sure if it's possible 🤔 ...
- Langage dominant
- Python
- Étoiles
- 28.2k
- Forks
- 1.5k
- Métriques de merge des PR
- Aucune PR mergée en 30 j
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.
Autres issues de google/python-fire
-
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
google/python-fire#693 ·
-
Release 0.7.2? Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 38/100
google/python-fire#698 ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 58/100
google/python-fire#672 · 5 commentaires ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
google/python-fire#665 · 2 commentaires ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
google/python-fire#659 · 1 commentaire ·
Toutes les issues de google/python-fire
Issues similaires
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
canonical/paas-charm#368 · 1 commentaire ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
tech debt
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
addition to tracking list Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
StevenBlack/hosts#3256 ·
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
qualcomm/qai-appbuilder#275 ·