From c4d999e8dc997e8cd2c45070b9569e42dbf845b4 Mon Sep 17 00:00:00 2001 From: Warry Date: Sat, 29 Nov 2025 12:30:43 +0100 Subject: [PATCH] fix: correct find_attr calls to use variadic args instead of list After refactoring find_attr signature from list to *args, forgot to update the call sites. Track number and other metadata were not displaying due to passing list instead of individual arguments. --- tidal_dl_ng/ui/info_tab_widget.py | 4 ++-- tidal_dl_ng/ui/media_details_helper.py | 20 ++++++++++---------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/tidal_dl_ng/ui/info_tab_widget.py b/tidal_dl_ng/ui/info_tab_widget.py index 6979833..6191036 100644 --- a/tidal_dl_ng/ui/info_tab_widget.py +++ b/tidal_dl_ng/ui/info_tab_widget.py @@ -565,10 +565,10 @@ class InfoTabWidget(QtCore.QObject): self.lbl_isrc.setText(safe_str(isrc)) # Track Number: try multiple possible attribute names and album track info - track_number = find_attr(track, ["track_number", "tracknumber", "number", "position", "track"]) or None + track_number = find_attr(track, "track_number", "tracknumber", "number", "position", "track") or None if track_number is None and hasattr(track, "album") and track.album: # Some album objects contain track indexing information - track_number = find_attr(track.album, ["track_number", "tracknumber", "number"]) or None + track_number = find_attr(track.album, "track_number", "tracknumber", "number") or None self.lbl_track_number.setText(safe_str(track_number)) # Note: Label, Genres, Producers and Composers fields are not available in TIDAL API - removed from display diff --git a/tidal_dl_ng/ui/media_details_helper.py b/tidal_dl_ng/ui/media_details_helper.py index 191bc38..bb56ab1 100644 --- a/tidal_dl_ng/ui/media_details_helper.py +++ b/tidal_dl_ng/ui/media_details_helper.py @@ -65,41 +65,41 @@ class MediaDetailsHelper: labels["isrc"].setText(safe_str(isrc)) # Track Number - track_number = find_attr(media, ["track_number", "tracknumber", "number", "position"]) + track_number = find_attr(media, "track_number", "tracknumber", "number", "position") if not track_number and hasattr(media, "album") and media.album: - track_number = find_attr(media.album, ["track_number", "tracknumber"]) + track_number = find_attr(media.album, "track_number", "tracknumber") labels["track_number"].setText(safe_str(track_number)) @staticmethod def populate_metadata_fields(labels: dict, media) -> None: """Populate metadata fields (BPM, Label, Producers, Composers).""" # BPM - bpm = find_attr(media, ["bpm", "tempo"]) + bpm = find_attr(media, "bpm", "tempo") if not bpm and hasattr(media, "album") and media.album: - bpm = find_attr(media.album, ["bpm", "tempo"]) + bpm = find_attr(media.album, "bpm", "tempo") labels["bpm"].setText(safe_str(bpm)) # Label label = None if hasattr(media, "album") and media.album: - label = find_attr(media.album, ["label", "label_name", "recordLabel"]) + label = find_attr(media.album, "label", "label_name", "recordLabel") if not label: - label = find_attr(media, ["label", "label_name", "recordLabel"]) + label = find_attr(media, "label", "label_name", "recordLabel") labels["label"].setText(safe_str(label)) # Producers/Composers - producers = find_attr(media, ["producers", "producer"]) + producers = find_attr(media, "producers", "producer") labels["producers"].setText(safe_str(producers) if producers else "—") - composers = find_attr(media, ["composers", "composer"]) + composers = find_attr(media, "composers", "composer") labels["composers"].setText(safe_str(composers) if composers else "—") @staticmethod def populate_genres(labels: dict, media) -> None: """Extract and populate genre information with filtering.""" - genres = find_attr(media, ["genres", "genre"]) + genres = find_attr(media, "genres", "genre") if not genres and hasattr(media, "album") and media.album: - genres = find_attr(media.album, ["genres", "genre"]) + genres = find_attr(media.album, "genres", "genre") if not genres: labels["genres"].setText("—")