diff options
author | Arthur Zamarin <arthurzam@gentoo.org> | 2023-12-30 15:37:35 +0200 |
---|---|---|
committer | Arthur Zamarin <arthurzam@gentoo.org> | 2023-12-30 15:37:35 +0200 |
commit | 45e2a7c1d0ce8e9ef7bba0cae4b4648a5d764540 (patch) | |
tree | 484d505ba6b2330e2831644db5a23294ffab93d0 | |
parent | bugs: improve error output (diff) | |
download | pkgdev-45e2a7c1d0ce8e9ef7bba0cae4b4648a5d764540.tar.gz pkgdev-45e2a7c1d0ce8e9ef7bba0cae4b4648a5d764540.tar.bz2 pkgdev-45e2a7c1d0ce8e9ef7bba0cae4b4648a5d764540.zip |
argparse: better handling of ~/.bugzrc
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
-rw-r--r-- | src/pkgdev/scripts/argparsers.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/pkgdev/scripts/argparsers.py b/src/pkgdev/scripts/argparsers.py index 5cefeca..9ab58da 100644 --- a/src/pkgdev/scripts/argparsers.py +++ b/src/pkgdev/scripts/argparsers.py @@ -1,6 +1,7 @@ import os import subprocess from configparser import ConfigParser +from contextlib import suppress from pathlib import Path from pkgcore.repository import errors as repo_errors @@ -75,8 +76,13 @@ class BugzillaApiKey: try: config = ConfigParser(default_section="default") config.read(bugz_rc_file) - setattr(namespace, attr, config.get("default", "key")) except Exception as e: raise ValueError(f"failed parsing {bugz_rc_file}: {e}") - elif (bugz_token_file := Path.home() / ".bugz_token").is_file(): + + for category in ("default", "gentoo", "Gentoo"): + with suppress(Exception): + setattr(namespace, attr, config.get(category, "key")) + return + + if (bugz_token_file := Path.home() / ".bugz_token").is_file(): setattr(namespace, attr, bugz_token_file.read_text().strip()) |