diff --git a/modules/config.py b/modules/config.py index 14a6f52b..6bd25d55 100644 --- a/modules/config.py +++ b/modules/config.py @@ -9,7 +9,7 @@ import modules.flags import modules.sdxl_styles from modules.model_loader import load_file_from_url -from modules.extra_utils import makedirs_with_log, get_files_from_folder, try_parse_bool +from modules.extra_utils import makedirs_with_log, get_files_from_folder, try_eval_env_var from modules.flags import OutputFormat, Performance, MetadataScheme @@ -209,7 +209,7 @@ def get_config_item_or_set_default(key, default_value, validator, disable_empty_ v = os.getenv(key) if v is not None: - v = try_parse_bool(v) + v = try_eval_env_var(v) print(f"Environment: {key} = {v}") config_dict[key] = v diff --git a/modules/extra_utils.py b/modules/extra_utils.py index c4056020..00c11091 100644 --- a/modules/extra_utils.py +++ b/modules/extra_utils.py @@ -28,11 +28,11 @@ def get_files_from_folder(folder_path, extensions=None, name_filter=None): return filenames -def try_parse_bool(value: str) -> str | bool: +def try_eval_env_var(value: str, expected_type=None) -> str | bool: try: - value_eval = literal_eval(value.strip().title()) - if type(value_eval) is bool: - return value_eval - return value - except ValueError | TypeError: + value_eval = literal_eval(value.title()) + if expected_type is not None and type(value_eval) is not expected_type: + return value + return value_eval + except: return value