🛠️ Fixed crash on right click -> download a favorite list.

This commit is contained in:
Robert Honz
2024-05-24 09:31:37 +02:00
parent e0d0b8ec8c
commit 182e531798
2 changed files with 14 additions and 3 deletions
+6 -3
View File
@@ -6,6 +6,7 @@ from collections.abc import Callable, Sequence
from PySide6.QtGui import QStandardItem
from requests.exceptions import HTTPError
from helper.tidal import favorite_function_factory
from tidal_dl_ng import __version__, update_available
from tidal_dl_ng.dialog import DialogLogin, DialogPreferences, DialogVersion
from tidal_dl_ng.helper.gui import (
@@ -725,8 +726,7 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
# Only if clicked item is not a top level item.
if media_list:
if isinstance(media_list, str) and media_list.startswith("fav_"):
function_name: str = FAVORITES[media_list]["function_name"]
function_list = getattr(self.tidal.session.user.favorites, function_name)
function_list = favorite_function_factory(self.tidal, media_list)
self.list_items_show_result(favorite_function=function_list)
else:
@@ -775,7 +775,10 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
media_list = get_user_list_media_item(item)
# Get all results
if favorite_function:
if favorite_function or isinstance(media_list, str):
if isinstance(media_list, str):
favorite_function = favorite_function_factory(self.tidal, media_list)
media_items: [Track | Video | Album] = favorite_function()
else:
media_items: [Track | Video | Album] = items_results_all(media_list)
+8
View File
@@ -5,6 +5,7 @@ from tidalapi.artist import Artist, Role
from tidalapi.media import MediaMetadataTags, Quality
from tidalapi.session import SearchTypes
from tidal_dl_ng.constants import FAVORITES
from tidal_dl_ng.constants import MediaType
from tidal_dl_ng.helper.exceptions import MediaUnknown
@@ -192,3 +193,10 @@ def quality_audio_highest(media: Track | Album) -> Quality:
quality = media.audio_quality
return quality
def favorite_function_factory(tidal, favorite_item: str):
function_name: str = FAVORITES[favorite_item]["function_name"]
function_list: Callable = getattr(tidal.session.user.favorites, function_name)
return function_list