import pathlib from typing import Any from typing import Dict from typing import Set import mergedeep from ytdl_sub.prebuilt_presets.tv_show import TvShowByDatePresets from ytdl_sub.prebuilt_presets.tv_show import TvShowCollectionPresets from ytdl_sub.utils.yaml import load_yaml def _merge_presets() -> Dict[str, Any]: merged_configs: Dict[str, Any] = {} # Get all presets from the loose YAML files for file in pathlib.Path(__file__).parent.resolve().rglob("*"): if file.is_file() and file.name.endswith("yaml"): mergedeep.merge(merged_configs, load_yaml(file)) return merged_configs["presets"] PREBUILT_PRESETS: Dict[str, Any] = _merge_presets() PREBUILT_PRESET_NAMES: Set[str] = set(PREBUILT_PRESETS.keys()) PUBLISHED_PRESET_NAMES: Set[str] = { name for name in PREBUILT_PRESET_NAMES if not name.startswith("_") }