argparse exclusive argument group error unintelligible
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 77.2k
- Forks
- 35.9k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
Bug report
Bug description:
import argparse
import os.path
parser = argparse.ArgumentParser()
parser.add_argument(
"--debug",
action="store_true",
help="print out debugging information",
)
# Added optional branch argument
parser.add_argument(
"-b",
"--branch",
default="main",
help="branch name to store commits in (default: main)",
)
parser.add_argument(
"--non-interactive",
action="store_true",
help="disable interactive prompts for missing author information, pass --yes to lfs import",
)
parser.add_argument(
"--template",
default=os.path.join(
os.path.dirname(__file__), "template"
),
help="add files from this directory to every revision",
)
parser.add_argument(
"--object-format",
default="sha256",
help="git object format to use (default: sha256)",
)
parser.add_argument(
"--changelog",
nargs="?",
const=pkg_base,
help="use changelog for commit messages, "
f"package name is guessed ({pkg_base}) or can be specified",
)
repo_group = parser.add_mutually_exclusive_group(required=True)
repo_group.add_argument(
"--stdout",
action="store_true",
help="output git fast-import data to stdout",
)
repo_group.add_argument(
"repository",
nargs="?",
help="import package into this git repository if --stdout is not given",
)
args = parser.parse_args()
$ python3 osc_fast_export.py
usage: osc_fast_export.py [-h] [--debug] [-b BRANCH] [--non-interactive] [--template TEMPLATE]
[--object-format OBJECT_FORMAT] [--changelog [CHANGELOG]] (--stdout |
repository)
osc_fast_export.py: error: one of the arguments --stdout repository is required
The sentence
one of the arguments --stdout repository is required
is unintelligible. I wrote the code so I know why the output is like this but this is supposed to be read by a user who never looked at the code. The grammar of that sentence is broken.
CPython versions tested on:
3.13
Operating systems tested on:
Linux
Linked PRs
- gh-157134
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit dem im Bericht gezeigten argparse-Einstiegspunkt für mutually exclusive-group und reproduziere den Befehl ohne --stdout und ohne repository. Verfolge die daraus resultierende Diagnose für das erforderliche Argument und ihre bestehende Abdeckung; fertig ist es, wenn die benutzerseitige Meldung grammatikalisch korrekt ist und die Anforderung klar erklärt und es einen Regressionstest für diesen Fall gibt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- cli
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 30/100