diff --git a/src/ytdl_sub/prebuilt_presets/__init__.py b/src/ytdl_sub/prebuilt_presets/__init__.py index 036159a0..d1ed554b 100644 --- a/src/ytdl_sub/prebuilt_presets/__init__.py +++ b/src/ytdl_sub/prebuilt_presets/__init__.py @@ -1,3 +1,4 @@ +import os import pathlib from typing import Any from typing import Dict @@ -8,6 +9,15 @@ import mergedeep from ytdl_sub.utils.yaml import load_yaml +def get_prebuilt_preset_package_name(path: pathlib.Path) -> str: + """ + Returns + ------- + Package name for prebuilt presets + """ + return os.path.basename(os.path.dirname(path)) + + def _merge_presets() -> Dict[str, Any]: merged_configs: Dict[str, Any] = {} diff --git a/src/ytdl_sub/prebuilt_presets/helpers/__init__.py b/src/ytdl_sub/prebuilt_presets/helpers/__init__.py index e69de29b..e354d64d 100644 --- a/src/ytdl_sub/prebuilt_presets/helpers/__init__.py +++ b/src/ytdl_sub/prebuilt_presets/helpers/__init__.py @@ -0,0 +1,3 @@ +from ytdl_sub.prebuilt_presets import get_prebuilt_preset_package_name + +PREBUILT_PRESET_PACKAGE_NAME = get_prebuilt_preset_package_name(__file__) diff --git a/src/ytdl_sub/prebuilt_presets/internal/__init__.py b/src/ytdl_sub/prebuilt_presets/internal/__init__.py index e69de29b..e354d64d 100644 --- a/src/ytdl_sub/prebuilt_presets/internal/__init__.py +++ b/src/ytdl_sub/prebuilt_presets/internal/__init__.py @@ -0,0 +1,3 @@ +from ytdl_sub.prebuilt_presets import get_prebuilt_preset_package_name + +PREBUILT_PRESET_PACKAGE_NAME = get_prebuilt_preset_package_name(__file__) diff --git a/src/ytdl_sub/prebuilt_presets/music/__init__.py b/src/ytdl_sub/prebuilt_presets/music/__init__.py index 69603e05..e8c8cb23 100644 --- a/src/ytdl_sub/prebuilt_presets/music/__init__.py +++ b/src/ytdl_sub/prebuilt_presets/music/__init__.py @@ -1,4 +1,7 @@ from ytdl_sub.prebuilt_presets import PrebuiltPresets +from ytdl_sub.prebuilt_presets import get_prebuilt_preset_package_name + +PREBUILT_PRESET_PACKAGE_NAME = get_prebuilt_preset_package_name(__file__) class MusicPresets(PrebuiltPresets): diff --git a/src/ytdl_sub/prebuilt_presets/music_videos/__init__.py b/src/ytdl_sub/prebuilt_presets/music_videos/__init__.py index 35a9b013..7338b591 100644 --- a/src/ytdl_sub/prebuilt_presets/music_videos/__init__.py +++ b/src/ytdl_sub/prebuilt_presets/music_videos/__init__.py @@ -1,4 +1,7 @@ from ytdl_sub.prebuilt_presets import PrebuiltPresets +from ytdl_sub.prebuilt_presets import get_prebuilt_preset_package_name + +PREBUILT_PRESET_PACKAGE_NAME = get_prebuilt_preset_package_name(__file__) class MusicVideoPresets(PrebuiltPresets): diff --git a/src/ytdl_sub/prebuilt_presets/tv_show/__init__.py b/src/ytdl_sub/prebuilt_presets/tv_show/__init__.py index fa87eaa1..5e85f0c4 100644 --- a/src/ytdl_sub/prebuilt_presets/tv_show/__init__.py +++ b/src/ytdl_sub/prebuilt_presets/tv_show/__init__.py @@ -1,4 +1,7 @@ from ytdl_sub.prebuilt_presets import PrebuiltPresets +from ytdl_sub.prebuilt_presets import get_prebuilt_preset_package_name + +PREBUILT_PRESET_PACKAGE_NAME = get_prebuilt_preset_package_name(__file__) class TvShowByDatePresets(PrebuiltPresets): diff --git a/tests/unit/prebuilt_presets/test_prebuilt_presets_packaged.py b/tests/unit/prebuilt_presets/test_prebuilt_presets_packaged.py new file mode 100644 index 00000000..292e547c --- /dev/null +++ b/tests/unit/prebuilt_presets/test_prebuilt_presets_packaged.py @@ -0,0 +1,25 @@ +class TestPrebuiltPresetsPackaged: + def test_helpers_packaged(self) -> None: + from ytdl_sub.prebuilt_presets.helpers import PREBUILT_PRESET_PACKAGE_NAME + + assert PREBUILT_PRESET_PACKAGE_NAME == "helpers" + + def test_internal_packaged(self) -> None: + from ytdl_sub.prebuilt_presets.internal import PREBUILT_PRESET_PACKAGE_NAME + + assert PREBUILT_PRESET_PACKAGE_NAME == "internal" + + def test_music_packaged(self) -> None: + from ytdl_sub.prebuilt_presets.music import PREBUILT_PRESET_PACKAGE_NAME + + assert PREBUILT_PRESET_PACKAGE_NAME == "music" + + def test_music_videos_packaged(self) -> None: + from ytdl_sub.prebuilt_presets.music_videos import PREBUILT_PRESET_PACKAGE_NAME + + assert PREBUILT_PRESET_PACKAGE_NAME == "music_videos" + + def test_tv_show_packaged(self) -> None: + from ytdl_sub.prebuilt_presets.tv_show import PREBUILT_PRESET_PACKAGE_NAME + + assert PREBUILT_PRESET_PACKAGE_NAME == "tv_show"