summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tidal_dl_ng/download.py29
-rw-r--r--tidal_dl_ng/gui.py5
2 files changed, 18 insertions, 16 deletions
diff --git a/tidal_dl_ng/download.py b/tidal_dl_ng/download.py
index 2afdf20..a65e5f0 100644
--- a/tidal_dl_ng/download.py
+++ b/tidal_dl_ng/download.py
@@ -177,20 +177,21 @@ class Download:
video_download: bool = True,
download_delay: bool = False,
) -> (bool, str):
- # If no media instance is provided, we need to create the media instance.
- if media_id and media_type:
- media = instantiate_media(self.session, media_type, media_id)
- elif isinstance(media, Track):
- media = self.session.track(media.id, with_album=True)
- elif not media:
- raise MediaMissing
-
- # Check if media is available not deactivated / removed from TIDAL.
- if not media.available:
- self.fn_logger.info(
- f"This track is not available for listening anymore on TIDAL. Skipping: {name_builder_item(media)}"
- )
-
+ try:
+ if media_id and media_type:
+ # If no media instance is provided, we need to create the media instance.
+ media = instantiate_media(self.session, media_type, media_id)
+ elif isinstance(media, Track): # Check if media is available not deactivated / removed from TIDAL.
+ if not media.available:
+ self.fn_logger.info(
+ f"This track is not available for listening anymore on TIDAL. Skipping: {name_builder_item(media)}"
+ )
+ else:
+ # Re-create media instance with full album information
+ media = self.session.track(media.id, with_album=True)
+ elif not media:
+ raise MediaMissing
+ except:
return False, ""
# If video download is not allowed end here
diff --git a/tidal_dl_ng/gui.py b/tidal_dl_ng/gui.py
index 3ef600e..92627ca 100644
--- a/tidal_dl_ng/gui.py
+++ b/tidal_dl_ng/gui.py
@@ -6,7 +6,6 @@ from requests.exceptions import HTTPError
from tidal_dl_ng import version
from tidal_dl_ng.dialog import DialogLogin, DialogPreferences, DialogVersion
-from tidal_dl_ng.helper.exceptions import MediaUnknown
from tidal_dl_ng.helper.path import get_format_template
from tidal_dl_ng.helper.tidal import (
get_tidal_media_id,
@@ -367,7 +366,9 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
try:
media = instantiate_media(self.tidal.session, media_type, item_id)
- except MediaUnknown:
+ except:
+ logger_gui.error(f"Media not found (ID: {item_id}). Maybe it is not available anymore.")
+
media = None
result_search = {"direct": [media]}