Fix fetching of track duration
This commit is contained in:
parent
07b2056bbf
commit
ec825da178
|
@ -189,7 +189,7 @@ function parseAlbumInfo(html, opts) {
|
|||
position: track.position,
|
||||
name: track.item.name,
|
||||
url: trackUrl,
|
||||
duration: track.item.duration_secs,
|
||||
duration: getAdditionalPropertyValue(track.item, 'duration_secs'),
|
||||
streamUrl: _getStreamUrl(track.item.url)
|
||||
});
|
||||
});
|
||||
|
@ -233,7 +233,7 @@ function parseTrackInfo(html, opts) {
|
|||
url: basic.url,
|
||||
imageUrl: opts.imageBaseUrl + '/img/a' + extra.art_id + '_' + opts.albumImageFormat.id + '.jpg',
|
||||
releaseDate: extra.current.release_date,
|
||||
duration: basic.duration_secs,
|
||||
duration: getAdditionalPropertyValue(basic, 'duration_secs'),
|
||||
streamUrl: extra.trackinfo && extra.trackinfo[0] && extra.trackinfo[0].file && extra.trackinfo[0].file['mp3-128'] ? extra.trackinfo[0].file['mp3-128'] : null,
|
||||
artist: {
|
||||
name: basic.byArtist.name,
|
||||
|
@ -289,6 +289,16 @@ function parseTrackInfoFromAlbum(html, opts, trackPosition) {
|
|||
return track;
|
||||
}
|
||||
|
||||
function getAdditionalPropertyValue(o, propName) {
|
||||
if (Array.isArray(o.additionalProperty)) {
|
||||
const p = o.additionalProperty.find( prop => prop.name === propName );
|
||||
if (p && p.value !== undefined) {
|
||||
return p.value;
|
||||
}
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
|
||||
function parseDiscography(html, opts) {
|
||||
const $ = cheerio.load(html);
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user