feature request: tell fire to stop parsing argument and pass the remaining unparsed args to function
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 35/100
Piste de recherche
Commencez par le point d’entrée fire.Fire et examinez comment les arguments de la ligne de commande sont analysés avant d’atteindre la méthode proposée fire.decorators.SkipParse. Définissez le comportement attendu d’un marqueur ou d’un décorateur d’arrêt de l’analyse, puis vérifiez que l’exemple conserve ('which', '-a', 'python3') après run.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Feature Description
I am working on a tool to wrap some existed command line tools to make them easier to use (like auto install, inject argument automatically, etc). And I hope that I can have a way to tell Fire to stop parsing after encount some specific command.
Example
Here are some real world examples like poetry run python3 ./my-scripts.py or conda run -n my-env python3 ./my-scripts.py
Without this feature I can only put everything else as string, just like what -c option of bash does, e.g. bash -c "echo 'hello world'" , which could still work, but the user have to type extra string quote and dealing with escaping in some cases.
I am not sure if it is possbile to provide some decorator to archive this, for example
class Conda:
def __init__(verbose=False):
...
@fire.decorators.SkipParse
def run(self, *argv):
print(argv)
fire.Fire(Conda)
And when running with python fake-conda.py --verbose run which -a python3, the output should be ('which', '-a', 'python3')
- 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 ·