Fix Tidal/Qobuz enrichment backfill failing on dict-type copyright and isrc fields
This commit is contained in:
parent
ef43e4b5a6
commit
5db10b552d
2 changed files with 19 additions and 7 deletions
|
|
@ -608,7 +608,9 @@ class QobuzWorker:
|
|||
""", (duration_ms, album_id))
|
||||
|
||||
copyright_text = data.get('copyright')
|
||||
if copyright_text:
|
||||
if isinstance(copyright_text, dict):
|
||||
copyright_text = copyright_text.get('text', copyright_text.get('name', ''))
|
||||
if copyright_text and isinstance(copyright_text, str):
|
||||
cursor.execute("""
|
||||
UPDATE albums SET copyright = ?
|
||||
WHERE id = ? AND (copyright IS NULL OR copyright = '')
|
||||
|
|
@ -669,7 +671,9 @@ class QobuzWorker:
|
|||
""", (1 if parental else 0, track_id))
|
||||
|
||||
isrc = data.get('isrc')
|
||||
if isrc:
|
||||
if isinstance(isrc, dict):
|
||||
isrc = isrc.get('value', isrc.get('id', ''))
|
||||
if isrc and isinstance(isrc, str):
|
||||
cursor.execute("""
|
||||
UPDATE tracks SET isrc = ?
|
||||
WHERE id = ? AND (isrc IS NULL OR isrc = '')
|
||||
|
|
@ -684,7 +688,9 @@ class QobuzWorker:
|
|||
""", (duration_ms, track_id))
|
||||
|
||||
copyright_text = data.get('copyright')
|
||||
if copyright_text:
|
||||
if isinstance(copyright_text, dict):
|
||||
copyright_text = copyright_text.get('text', copyright_text.get('name', ''))
|
||||
if copyright_text and isinstance(copyright_text, str):
|
||||
cursor.execute("""
|
||||
UPDATE tracks SET copyright = ?
|
||||
WHERE id = ? AND (copyright IS NULL OR copyright = '')
|
||||
|
|
|
|||
|
|
@ -621,9 +621,11 @@ class TidalWorker:
|
|||
WHERE id = ? AND duration IS NULL
|
||||
""", (duration_ms, album_id))
|
||||
|
||||
# Backfill copyright
|
||||
# Backfill copyright (can be string or dict with 'text' key in JSON:API)
|
||||
copyright_text = data.get('copyright')
|
||||
if copyright_text:
|
||||
if isinstance(copyright_text, dict):
|
||||
copyright_text = copyright_text.get('text', copyright_text.get('name', ''))
|
||||
if copyright_text and isinstance(copyright_text, str):
|
||||
cursor.execute("""
|
||||
UPDATE albums SET copyright = ?
|
||||
WHERE id = ? AND (copyright IS NULL OR copyright = '')
|
||||
|
|
@ -693,7 +695,9 @@ class TidalWorker:
|
|||
""", (1 if explicit else 0, track_id))
|
||||
|
||||
isrc = data.get('isrc')
|
||||
if isrc:
|
||||
if isinstance(isrc, dict):
|
||||
isrc = isrc.get('value', isrc.get('id', ''))
|
||||
if isrc and isinstance(isrc, str):
|
||||
cursor.execute("""
|
||||
UPDATE tracks SET isrc = ?
|
||||
WHERE id = ? AND (isrc IS NULL OR isrc = '')
|
||||
|
|
@ -707,7 +711,9 @@ class TidalWorker:
|
|||
""", (duration_ms, track_id))
|
||||
|
||||
copyright_text = data.get('copyright')
|
||||
if copyright_text:
|
||||
if isinstance(copyright_text, dict):
|
||||
copyright_text = copyright_text.get('text', copyright_text.get('name', ''))
|
||||
if copyright_text and isinstance(copyright_text, str):
|
||||
cursor.execute("""
|
||||
UPDATE tracks SET copyright = ?
|
||||
WHERE id = ? AND (copyright IS NULL OR copyright = '')
|
||||
|
|
|
|||
Loading…
Reference in a new issue