From: Plom Heller Date: Thu, 6 Aug 2026 18:46:36 +0000 (+0200) Subject: Add read of optional config file at ~/.config/bricksplom/config.json X-Git-Url: https://plomlompom.com/repos/%22https:/validator.w3.org/static/blog?a=commitdiff_plain;h=b3ad99ede857edaf3d31cdb159397ea6c92d7b5a;p=bricksplom Add read of optional config file at ~/.config/bricksplom/config.json --- diff --git a/src/run.py b/src/run.py index 8c841ae..ce8fe2a 100755 --- a/src/run.py +++ b/src/run.py @@ -7,7 +7,9 @@ from argparse import ( ArgumentParser, Namespace as ArgumentNamespace, ) +from json import loads as json_loads from os import environ +from pathlib import Path # ourselves from bricksplom.misc import ( BricksDb, @@ -19,7 +21,8 @@ from bricksplom.misc import ( ) NAME_ENV_DIRNAME = 'BRICKSPLOM_DIR' -NAME_ENV_LDRAW = 'PATH_LDRAW' +NAME_ENV_LDRAW = 'LDRAW_DIR' +NAME_ENV_CONFIG = 'BRICKSPLON_CONFIG' def main( @@ -76,9 +79,14 @@ def main( return args args = parse_args() - db = BricksDb(environ.get(NAME_ENV_DIRNAME, '.'), - environ.get(NAME_ENV_LDRAW, ''), - args.ldraw) + path_conffile = Path( + environ.get(NAME_ENV_CONFIG, '') + or str(Path.home().joinpath('.config', 'bricksplom', 'config.json'))) + config = (json_loads(path_conffile.read_text(encoding='utf8')) + if path_conffile.is_file() else {}) + path_tables = environ.get(NAME_ENV_DIRNAME, config.get('path_tables', '')) + path_ldraw = environ.get(NAME_ENV_LDRAW, config.get('path_ldraw', '')) + db = BricksDb(path_tables, path_ldraw, args.ldraw) print( db.lookup( table_name=args.table,