From b3ad99ede857edaf3d31cdb159397ea6c92d7b5a Mon Sep 17 00:00:00 2001 From: Plom Heller Date: Thu, 6 Aug 2026 20:46:36 +0200 Subject: [PATCH] Add read of optional config file at ~/.config/bricksplom/config.json --- src/run.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) 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, -- 2.30.2