diff options
Diffstat (limited to 'tidal_dl_ng/ui/__init__.py')
| -rw-r--r-- | tidal_dl_ng/ui/__init__.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/tidal_dl_ng/ui/__init__.py b/tidal_dl_ng/ui/__init__.py index e69de29..3c4a724 100644 --- a/tidal_dl_ng/ui/__init__.py +++ b/tidal_dl_ng/ui/__init__.py @@ -0,0 +1,37 @@ +"""UI package initializer. + +- Ensures that `tidal_dl_ng.ui.dialog_playlist_manager` exposes both the generated + `Ui_DialogPlaylistManager` and the implementation `PlaylistManagerDialog`. +- Does not modify generated UI .py files; composes at import time. +""" + +from __future__ import annotations + +import importlib +from types import ModuleType + +# Import generated UI module +_ui_mod: ModuleType = importlib.import_module("tidal_dl_ng.ui.dialog_playlist_manager") + +# Attach the implementation class from gui +try: + from tidal_dl_ng.gui.dialog_playlist_manager import PlaylistManagerDialog as _ImplDialog +except Exception: + _ImplDialog = None # type: ignore[assignment] + +if _ImplDialog is not None: + _ui_mod.PlaylistManagerDialog = _ImplDialog + +# Re-export for convenience when importing from the package +if _ImplDialog is not None: + PlaylistManagerDialog = _ImplDialog # type: ignore[assignment] + +try: + from tidal_dl_ng.ui.dialog_playlist_manager import Ui_DialogPlaylistManager as _UiClass +except Exception: + _UiClass = None # type: ignore[assignment] + +if _UiClass is not None: + Ui_DialogPlaylistManager = _UiClass # type: ignore[assignment] + +__all__ = [name for name in ("PlaylistManagerDialog", "Ui_DialogPlaylistManager") if name in globals()] |
