Fixed bug on json parse

This commit is contained in:
dbroqua 2020-01-16 10:11:02 +01:00
parent b6beab9a71
commit d2ebf282aa

View file

@ -99,46 +99,51 @@ if (!process.env.STREAM_TYPE || process.env.STREAM_TYPE === 'radio') {
}, },
(error, response, body) => { (error, response, body) => {
if (!error && response.statusCode === 200) { if (!error && response.statusCode === 200) {
const res = JSON.parse(process.env.STREAM_PARSE ? body.replace('updateFromMediaItem(', '').replace(');', '') : body) try {
const res = JSON.parse(process.env.STREAM_PARSE ? body.replace('updateFromMediaItem(', '').replace(');', '') : body)
let title = null let title = null
let artist = null let artist = null
switch (process.env.STREAM_TYPE) { switch (process.env.STREAM_TYPE) {
case 'json': case 'json':
title = res[titlePath[0]] title = res[titlePath[0]]
for (let i = 1; i < titlePath.length; i += 1) { for (let i = 1; i < titlePath.length; i += 1) {
title = title[titlePath[i]] title = title[titlePath[i]]
} }
artist = res[artistPath[0]] artist = res[artistPath[0]]
for (let i = 1; i < artistPath.length; i += 1) { for (let i = 1; i < artistPath.length; i += 1) {
artist = artist[artistPath[i]] artist = artist[artistPath[i]]
}
currentSong = {
title: title,
artist: artist
}
break
case 'alien':
try {
for (let i = 0; i < res.length; i += 1) {
if (res[i].name === 'Cult') {
currentSong = {
title: res[i].nowPlaying.track.title,
artist: res[i].nowPlaying.track.artist
}
break
}
} }
} catch (e) {
console.error('ERR:', e)
}
break
}
if (previousSong.title !== currentSong.title && previousSong.artist !== currentSong.artist) { currentSong = {
checkCurrentSong() title: title,
artist: artist
}
break
case 'alien':
try {
for (let i = 0; i < res.length; i += 1) {
if (res[i].name === 'Cult') {
currentSong = {
title: res[i].nowPlaying.track.title,
artist: res[i].nowPlaying.track.artist
}
break
}
}
} catch (e) {
console.error('ERR:', e)
}
break
}
if (previousSong.title !== currentSong.title && previousSong.artist !== currentSong.artist) {
checkCurrentSong()
}
} catch (e) {
error = e
console.error('getStream error:', error)
} }
} else { } else {
console.error('ERR:', error) console.error('ERR:', error)