YouTube's flat playlist extraction returns ONLY the title (verified: no artist/channel/uploader field at all), so a track starts as 'Unknown Artist' and only gains a name if per-video recovery succeeds. When recovery comes up empty (no cookies / age-gated / bot-checked) but the track still matched confidently, the worker threw the match's artist away and left the column 'Unknown Artist' — the #909 symptom. Now the displayed yt_artist falls back to the matched artist when it's still Unknown. Display-only: the match itself, track['artists'], cache, and download flow are untouched, so a real recovered name always wins and an unmatched/error row honestly stays Unknown. Extracted resolve_display_artist as a pure, tested seam; applied in the cache-hit and fresh-match result paths (the error path has no match to draw from). |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| beatport.py | ||
| deezer.py | ||
| endpoints.py | ||
| hero.py | ||
| listenbrainz.py | ||
| manual_match.py | ||
| matching.py | ||
| playlist.py | ||
| qobuz.py | ||
| quality_scanner.py | ||
| scoring.py | ||
| spotify_public.py | ||
| sync.py | ||
| tidal.py | ||
| youtube.py | ||