🛠️ Fixed crash on download / search of unavailable media items.

This commit is contained in:
Robert Honz
2024-03-25 14:12:28 +01:00
parent 84c8036bdd
commit a14f0c1965
2 changed files with 18 additions and 16 deletions
+15 -14
View File
@@ -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
+3 -2
View File
@@ -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]}