From 9b6b4e6c616d43fc8647d4662eb4594e75ae5fd7 Mon Sep 17 00:00:00 2001 From: Mirek Kratochvil Date: Mon, 13 Oct 2025 21:16:05 +0200 Subject: [PATCH] implement the configuration --- src/patchodon/__init__.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/patchodon/__init__.py b/src/patchodon/__init__.py index 100dc7f..64e28b0 100644 --- a/src/patchodon/__init__.py +++ b/src/patchodon/__init__.py @@ -9,6 +9,7 @@ import time from pathlib import Path import argparse +import configparser import hashlib import html2text @@ -36,6 +37,8 @@ def api_token(args): return args.debug_api_token if args.env_api_token: return os.environ["PATCHODON_API_TOKEN"] + if args.config_api_token: + return args.config_api_token raise ValueError("API token not specified") @@ -434,7 +437,16 @@ def main(): ) args = ap.parse_args() - # TODO patch args from config (if found) + if os.path.exists(args.config): + cp = configparser.ConfigParser() + cp.read(args.config) + if "patchodon" in cp: + if "instance_url" in cp["patchodon"] and args.instance_url is None: + args.instance_url = cp["patchodon"]["instance_url"] + if "api_token" in cp["patchodon"]: + args.config_api_token = cp["patchodon"]["api_token"] + else: + trace(f"ignoring non-existent config: {args.config}") if args.command == "post": do_post(args)