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.
This commit is contained in:
Warry
2025-11-29 12:30:43 +01:00
parent d2c3e8ab8f
commit c4d999e8dc
2 changed files with 12 additions and 12 deletions
+2 -2
View File
@@ -565,10 +565,10 @@ class InfoTabWidget(QtCore.QObject):
self.lbl_isrc.setText(safe_str(isrc)) self.lbl_isrc.setText(safe_str(isrc))
# Track Number: try multiple possible attribute names and album track info # 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: if track_number is None and hasattr(track, "album") and track.album:
# Some album objects contain track indexing information # 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)) 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 # Note: Label, Genres, Producers and Composers fields are not available in TIDAL API - removed from display
+10 -10
View File
@@ -65,41 +65,41 @@ class MediaDetailsHelper:
labels["isrc"].setText(safe_str(isrc)) labels["isrc"].setText(safe_str(isrc))
# Track Number # 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: 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)) labels["track_number"].setText(safe_str(track_number))
@staticmethod @staticmethod
def populate_metadata_fields(labels: dict, media) -> None: def populate_metadata_fields(labels: dict, media) -> None:
"""Populate metadata fields (BPM, Label, Producers, Composers).""" """Populate metadata fields (BPM, Label, Producers, Composers)."""
# BPM # BPM
bpm = find_attr(media, ["bpm", "tempo"]) bpm = find_attr(media, "bpm", "tempo")
if not bpm and hasattr(media, "album") and media.album: 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)) labels["bpm"].setText(safe_str(bpm))
# Label # Label
label = None label = None
if hasattr(media, "album") and media.album: 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: 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)) labels["label"].setText(safe_str(label))
# Producers/Composers # Producers/Composers
producers = find_attr(media, ["producers", "producer"]) producers = find_attr(media, "producers", "producer")
labels["producers"].setText(safe_str(producers) if producers else "—") 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 "—") labels["composers"].setText(safe_str(composers) if composers else "—")
@staticmethod @staticmethod
def populate_genres(labels: dict, media) -> None: def populate_genres(labels: dict, media) -> None:
"""Extract and populate genre information with filtering.""" """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: 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: if not genres:
labels["genres"].setText("—") labels["genres"].setText("—")