diff --git a/cyberdrop_dl/main.py b/cyberdrop_dl/main.py index a59aba830..bd2e6ad51 100644 --- a/cyberdrop_dl/main.py +++ b/cyberdrop_dl/main.py @@ -5,7 +5,6 @@ import logging import os import sys -from copy import deepcopy from functools import wraps from pathlib import Path from textwrap import indent @@ -50,9 +49,7 @@ def startup() -> Manager: manager = Manager() manager.startup() if manager.parsed_args.cli_only_args.multiconfig: - original_manager = deepcopy(manager) manager.validate_all_configs() - manager = original_manager if not manager.parsed_args.cli_only_args.download: ProgramUI(manager) diff --git a/cyberdrop_dl/managers/config_manager.py b/cyberdrop_dl/managers/config_manager.py index 63fc667c2..2ac590482 100644 --- a/cyberdrop_dl/managers/config_manager.py +++ b/cyberdrop_dl/managers/config_manager.py @@ -20,7 +20,7 @@ class ConfigManager: def __init__(self, manager: Manager) -> None: self.manager = manager - self.loaded_config: str = field(init=False) + self.loaded_config: str = None self.authentication_settings: Path = field(init=False) self.settings: Path = field(init=False) @@ -32,12 +32,12 @@ def __init__(self, manager: Manager) -> None: def startup(self) -> None: """Startup process for the config manager.""" - if not isinstance(self.loaded_config, str): - self.loaded_config = self.manager.cache_manager.get("default_config") - if not self.loaded_config: - self.loaded_config = "Default" - if self.manager.parsed_args.cli_only_args.config: - self.loaded_config = self.manager.parsed_args.cli_only_args.config + self.loaded_config = self.loaded_config or self.manager.cache_manager.get("default_config") + if not self.loaded_config or self.loaded_config.casefold() == "all": + self.loaded_config = "Default" + cli_config = self.manager.parsed_args.cli_only_args.config + if cli_config and cli_config.casefold() != "all": + self.loaded_config = self.manager.parsed_args.cli_only_args.config self.settings = self.manager.path_manager.config_folder / self.loaded_config / "settings.yaml" self.global_settings = self.manager.path_manager.config_folder / "global_settings.yaml" diff --git a/cyberdrop_dl/managers/manager.py b/cyberdrop_dl/managers/manager.py index af7ba5168..8a985b6be 100644 --- a/cyberdrop_dl/managers/manager.py +++ b/cyberdrop_dl/managers/manager.py @@ -20,7 +20,7 @@ from cyberdrop_dl.managers.realdebrid_manager import RealDebridManager from cyberdrop_dl.utils.args import ParsedArgs from cyberdrop_dl.utils.data_enums_classes.supported_domains import SupportedForums -from cyberdrop_dl.utils.logger import log +from cyberdrop_dl.utils.logger import log, print_to_console from cyberdrop_dl.utils.transfer.first_time_setup import TransitionManager if TYPE_CHECKING: @@ -212,8 +212,10 @@ async def close(self) -> None: self.hash_manager: HashManager = field(init=False) def validate_all_configs(self) -> None: - log("validating all configs, please wait..") + print_to_console("validating all configs, please wait...") all_configs = self.config_manager.get_configs() all_configs.sort() + if not all_configs: + return for config in all_configs: self.config_manager.change_config(config)