From 68e9d2a2ce79427109cfcca32c4d2cc5aeb83492 Mon Sep 17 00:00:00 2001 From: msramalho <19508417+msramalho@users.noreply.github.com> Date: Fri, 19 May 2023 11:49:02 +0100 Subject: [PATCH] allows yaml config to be overwritten --- src/auto_archiver/core/config.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/auto_archiver/core/config.py b/src/auto_archiver/core/config.py index 9739506..72cea38 100644 --- a/src/auto_archiver/core/config.py +++ b/src/auto_archiver/core/config.py @@ -38,10 +38,11 @@ class Config: self.cli_ops = {} self.config = {} - def parse(self, use_cli=True, yaml_config_filename: str = None): + def parse(self, use_cli=True, yaml_config_filename: str = None, overwrite_configs:str={}): """ if yaml_config_filename is provided, the --config argument is ignored, useful for library usage when the config values are preloaded + overwrite_configs is a dict that overwrites the yaml file contents """ # 1. parse CLI values if use_cli: @@ -80,6 +81,7 @@ class Config: # 2. read YAML config file (or use provided value) self.yaml_config = self.read_yaml(yaml_config_filename) + self.yaml_config.update(overwrite_configs) # optional override programmatically # 3. CONFIGS: decide value with priority: CLI >> config.yaml >> default self.config = defaultdict(dict)