diff options
| author | Warry <FunWarry@users.noreply.github.com> | 2025-12-29 20:54:26 +0100 |
|---|---|---|
| committer | Warry <FunWarry@users.noreply.github.com> | 2025-12-29 20:54:26 +0100 |
| commit | 7b60f92a48b4ff54604e8179503488800866ca6f (patch) | |
| tree | b9d66f238777f4308ca29332c3675d9311c961d6 /tidal_dl_ng/gui | |
| parent | f413240b51f574c01144e6ae672b24c412a949e1 (diff) | |
| download | tidal-dl-ng-7b60f92a48b4ff54604e8179503488800866ca6f.tar.gz | |
feat: Refactor playlist management, error handling, and testing infrastructure
- Improved playlist item handling with pagination, error logging, and dedicated request hooks.
- Consolidated reusable helpers for track ID normalization, playlist validation, and removal logic.
- Enhanced error handling by introducing `PlaylistNotFound` and `UserNotAuthenticated` exceptions.
- Refined Pytest `qapp` fixture for headless CI compatibility and session-scoped reuse.
- Replaced redundant fixtures in multiple test files for consistency.
- Improved playlist management GUI with detailed debug logging for notifications and operations.
- Added `deptry` configuration to handle transitive dependencies and ignored exclusions.
- Updated Pytest and Tox configurations for consistent environment setup during CI/CD runs.
Diffstat (limited to 'tidal_dl_ng/gui')
| -rw-r--r-- | tidal_dl_ng/gui/dialog_playlist_manager.py | 3 | ||||
| -rw-r--r-- | tidal_dl_ng/gui/playlist_membership.py | 4 |
2 files changed, 4 insertions, 3 deletions
diff --git a/tidal_dl_ng/gui/dialog_playlist_manager.py b/tidal_dl_ng/gui/dialog_playlist_manager.py index 0066e72..f665543 100644 --- a/tidal_dl_ng/gui/dialog_playlist_manager.py +++ b/tidal_dl_ng/gui/dialog_playlist_manager.py @@ -316,8 +316,7 @@ class PlaylistManagerDialog(QtWidgets.QDialog): TODO: Integrate with app's notification system (Toast/Snackbar) """ - # Silent - errors are shown via UI notifications - pass + logger_gui.debug(f"PlaylistManagerDialog notification: {message}") def closeEvent(self, event: QtGui.QCloseEvent) -> None: """Handle dialog close event. diff --git a/tidal_dl_ng/gui/playlist_membership.py b/tidal_dl_ng/gui/playlist_membership.py index 927c96b..31d9d2d 100644 --- a/tidal_dl_ng/gui/playlist_membership.py +++ b/tidal_dl_ng/gui/playlist_membership.py @@ -508,14 +508,16 @@ class PlaylistContextLoader(QtCore.QRunnable): Set of track UUIDs in this playlist """ try: - # If a low-level request hook is present, use it to fetch all items req = getattr(self.session, "request", None) if callable(req): return self._fetch_via_request_hook(playlist_uuid, playlist_name) return self._fetch_via_tidalapi(playlist_uuid, playlist_name) + except RequestException: + raise except Exception as e: + logger_gui.debug(f"Unexpected error fetching items for {playlist_uuid}: {e}") raise RequestException(f"Failed to fetch items for playlist {playlist_uuid}: {e}") from e # noqa: TRY003 def request_abort(self) -> None: |
