diff --git a/src/utils/cli.py b/src/utils/cli.py index 0e8a61ea..e855f706 100644 --- a/src/utils/cli.py +++ b/src/utils/cli.py @@ -3,7 +3,7 @@ import argparse import pathlib # Internal Packages -from src.utils.helpers import resolve_absolute_path +from src.utils.helpers import get_absolute_path, resolve_absolute_path from src.utils.yaml import parse_config_from_file @@ -20,9 +20,12 @@ def cli(args=None): args = parser.parse_args(args) - if not resolve_absolute_path(args.config_file).exists(): + # Normalize config_file path to absolute path + args.config_file = resolve_absolute_path(args.config_file) + + if not args.config_file.exists(): args.config = None else: args.config = parse_config_from_file(args.config_file) - return args \ No newline at end of file + return args diff --git a/src/utils/yaml.py b/src/utils/yaml.py index e313c1f1..46ddb788 100644 --- a/src/utils/yaml.py +++ b/src/utils/yaml.py @@ -5,7 +5,7 @@ from pathlib import Path import yaml # Internal Packages -from src.utils.helpers import get_absolute_path +from src.utils.helpers import get_absolute_path, resolve_absolute_path from src.utils.rawconfig import FullConfig # Do not emit tags when dumping to YAML @@ -16,14 +16,14 @@ def save_config_to_file(yaml_config: dict, yaml_config_file: Path): # Create output directory, if it doesn't exist yaml_config_file.parent.mkdir(parents=True, exist_ok=True) - with open(get_absolute_path(yaml_config_file), 'w', encoding='utf-8') as config_file: + with open(yaml_config_file, 'w', encoding='utf-8') as config_file: yaml.safe_dump(yaml_config, config_file, allow_unicode=True) def load_config_from_file(yaml_config_file: Path) -> dict: "Read config from YML file" config_from_file = None - with open(get_absolute_path(yaml_config_file), 'r', encoding='utf-8') as config_file: + with open(yaml_config_file, 'r', encoding='utf-8') as config_file: config_from_file = yaml.safe_load(config_file) return config_from_file