✨ Direct link search can handle invalid links.
This commit is contained in:
+7
-1
@@ -6,6 +6,7 @@ from requests.exceptions import HTTPError
|
|||||||
|
|
||||||
from tidal_dl_ng import __version__
|
from tidal_dl_ng import __version__
|
||||||
from tidal_dl_ng.dialog import DialogLogin, DialogPreferences, DialogVersion
|
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.path import get_format_template
|
||||||
from tidal_dl_ng.helper.tidal import (
|
from tidal_dl_ng.helper.tidal import (
|
||||||
get_tidal_media_id,
|
get_tidal_media_id,
|
||||||
@@ -353,7 +354,12 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
|||||||
if "http" in query:
|
if "http" in query:
|
||||||
media_type = get_tidal_media_type(query)
|
media_type = get_tidal_media_type(query)
|
||||||
item_id = get_tidal_media_id(query)
|
item_id = get_tidal_media_id(query)
|
||||||
media = instantiate_media(self.tidal.session, media_type, item_id)
|
|
||||||
|
try:
|
||||||
|
media = instantiate_media(self.tidal.session, media_type, item_id)
|
||||||
|
except MediaUnknown:
|
||||||
|
media = None
|
||||||
|
|
||||||
result_search = {"direct": [media]}
|
result_search = {"direct": [media]}
|
||||||
else:
|
else:
|
||||||
result_search: dict[str, [SearchTypes]] = search_results_all(
|
result_search: dict[str, [SearchTypes]] = search_results_all(
|
||||||
|
|||||||
+14
-11
@@ -112,17 +112,20 @@ def instantiate_media(
|
|||||||
media_type: type[MediaType.TRACK, MediaType.VIDEO, MediaType.ALBUM, MediaType.PLAYLIST, MediaType.MIX],
|
media_type: type[MediaType.TRACK, MediaType.VIDEO, MediaType.ALBUM, MediaType.PLAYLIST, MediaType.MIX],
|
||||||
id_media: str,
|
id_media: str,
|
||||||
) -> Track | Video:
|
) -> Track | Video:
|
||||||
if media_type == MediaType.TRACK:
|
try:
|
||||||
media = Track(session, id_media)
|
if media_type == MediaType.TRACK:
|
||||||
elif media_type == MediaType.VIDEO:
|
media = Track(session, id_media)
|
||||||
media = Video(session, id_media)
|
elif media_type == MediaType.VIDEO:
|
||||||
elif media_type == MediaType.ALBUM:
|
media = Video(session, id_media)
|
||||||
media = Album(session, id_media)
|
elif media_type == MediaType.ALBUM:
|
||||||
elif media_type == MediaType.PLAYLIST:
|
media = Album(session, id_media)
|
||||||
media = Playlist(session, id_media)
|
elif media_type == MediaType.PLAYLIST:
|
||||||
elif media_type == MediaType.MIX:
|
media = Playlist(session, id_media)
|
||||||
media = Mix(session, id_media)
|
elif media_type == MediaType.MIX:
|
||||||
else:
|
media = Mix(session, id_media)
|
||||||
|
else:
|
||||||
|
raise MediaUnknown
|
||||||
|
except:
|
||||||
raise MediaUnknown
|
raise MediaUnknown
|
||||||
|
|
||||||
return media
|
return media
|
||||||
|
|||||||
Reference in New Issue
Block a user