diff --git a/modules/config.py b/modules/config.py index 29a16d6d..0733d716 100644 --- a/modules/config.py +++ b/modules/config.py @@ -2,13 +2,14 @@ import os import json import math import numbers + import args_manager import tempfile 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 +from modules.extra_utils import makedirs_with_log, get_files_from_folder, try_parse_bool from modules.flags import OutputFormat, Performance, MetadataScheme @@ -209,7 +210,7 @@ def get_config_item_or_set_default(key, default_value, validator, disable_empty_ v = os.getenv(key) if v is not None: print(f"Environment: {key} = {v}") - config_dict[key] = v + config_dict[key] = try_parse_bool(v) if key not in config_dict: config_dict[key] = default_value diff --git a/modules/extra_utils.py b/modules/extra_utils.py index 9906c820..b4c83061 100644 --- a/modules/extra_utils.py +++ b/modules/extra_utils.py @@ -1,4 +1,6 @@ import os +from ast import literal_eval + def makedirs_with_log(path): try: @@ -24,3 +26,10 @@ def get_files_from_folder(folder_path, extensions=None, name_filter=None): filenames.append(path) return filenames + + +def try_parse_bool(value: str) -> str | bool: + value_eval = literal_eval(value.strip().title()) + if type(value_eval) is bool: + return value_eval + return value