aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMirek Kratochvil <exa.exa@gmail.com>2025-10-13 21:16:05 +0200
committerMirek Kratochvil <exa.exa@gmail.com>2025-10-13 21:16:05 +0200
commit9b6b4e6c616d43fc8647d4662eb4594e75ae5fd7 (patch)
tree515ee2e9eba90c743b9bfecd8c2436c08c61fbef
parent265673f935e9484d7585e77f707db166d6ad7511 (diff)
downloadpatchodon-9b6b4e6c616d43fc8647d4662eb4594e75ae5fd7.tar.gz
patchodon-9b6b4e6c616d43fc8647d4662eb4594e75ae5fd7.tar.bz2
implement the configuration
-rw-r--r--src/patchodon/__init__.py14
1 files changed, 13 insertions, 1 deletions
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)