ai generated solutions to our ai generated problems
This commit is contained in:
+17
-1
@@ -70,13 +70,29 @@ function normalizeLastfmTrack(track) {
|
||||
const name = track?.name || ''
|
||||
if (!artist || !name) return null
|
||||
|
||||
const images = Array.isArray(track.image) ? track.image : []
|
||||
const image = [...images].reverse().find((item) => item?.['#text'])
|
||||
let imageUrl = ''
|
||||
try {
|
||||
const parsed = new URL(image?.['#text'] || '')
|
||||
if (
|
||||
parsed.protocol === 'https:' &&
|
||||
(parsed.hostname === 'lastfm.freetls.fastly.net' ||
|
||||
parsed.hostname.endsWith('.lastfm.freetls.fastly.net'))
|
||||
) {
|
||||
imageUrl = parsed.toString()
|
||||
}
|
||||
} catch {
|
||||
imageUrl = ''
|
||||
}
|
||||
|
||||
return {
|
||||
id: `${artist.toLowerCase()}::${name.toLowerCase()}`,
|
||||
artist,
|
||||
name,
|
||||
album: track?.album?.['#text'] || '',
|
||||
url: track?.url || '',
|
||||
image: '',
|
||||
image: imageUrl,
|
||||
played_at: track?.date?.uts ? Number(track.date.uts) : null,
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user