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:
@@ -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
|
||||||
|
|||||||
@@ -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("—")
|
||||||
|
|||||||
Reference in New Issue
Block a user