Fix Deezer metadata cache returning incomplete data for track details
Deezer search results (cached without release_date, track_position, isrc)
were being served by get_track_details as cache hits, preventing the actual
/track/{id} API call that returns complete data. This caused $year template
variable to remain empty even with the discovery worker fix in place.
This commit is contained in:
parent
6759f68b2b
commit
d31bba8999
1 changed files with 5 additions and 1 deletions
|
|
@ -354,7 +354,11 @@ class DeezerClient:
|
||||||
cache = get_metadata_cache()
|
cache = get_metadata_cache()
|
||||||
cached = cache.get_entity('deezer', 'track', str(track_id))
|
cached = cache.get_entity('deezer', 'track', str(track_id))
|
||||||
if cached and cached.get('title'):
|
if cached and cached.get('title'):
|
||||||
return self._build_enhanced_track(cached)
|
# Search results are cached with minimal data (no release_date, track_position).
|
||||||
|
# Only use cache if it has fields that the /track/{id} endpoint provides.
|
||||||
|
if 'release_date' in cached or 'track_position' in cached or 'isrc' in cached:
|
||||||
|
return self._build_enhanced_track(cached)
|
||||||
|
# Otherwise fall through to fetch full data from API
|
||||||
|
|
||||||
data = self._api_get(f'track/{track_id}')
|
data = self._api_get(f'track/{track_id}')
|
||||||
if not data:
|
if not data:
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue