From 23e06f483d92e8219d76b76eeacad0066d167c7d Mon Sep 17 00:00:00 2001 From: Debanjum Singh Solanky Date: Thu, 11 Aug 2022 19:08:36 +0300 Subject: [PATCH] Do not emit type tags when dumping config YAML to file --- src/utils/yaml.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/utils/yaml.py b/src/utils/yaml.py index c7a7fd99..588acbda 100644 --- a/src/utils/yaml.py +++ b/src/utils/yaml.py @@ -1,3 +1,6 @@ +# Standard Packages +from pathlib import Path + # External Packages import yaml @@ -5,14 +8,16 @@ import yaml from src.utils.helpers import get_absolute_path from src.utils.rawconfig import FullConfig +# Do not emit tags when dumping to YAML +yaml.emitter.Emitter.process_tag = lambda self, *args, **kwargs: None -def save_config_to_file(yaml_config, yaml_config_file): +def save_config_to_file(yaml_config: dict, yaml_config_file: Path): "Write config to YML file" with open(get_absolute_path(yaml_config_file), 'w', encoding='utf-8') as config_file: - yaml.dump(yaml_config, config_file, allow_unicode=True) + yaml.safe_dump(yaml_config, config_file, allow_unicode=True) -def load_config_from_file(yaml_config_file): +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: @@ -20,7 +25,7 @@ def load_config_from_file(yaml_config_file): return config_from_file -def parse_config_from_string(yaml_config): +def parse_config_from_string(yaml_config: dict) -> FullConfig: "Parse and validate config in YML string" return FullConfig.parse_obj(yaml_config)