parseAlbumInfo(): handle relative track urls
This commit is contained in:
parent
ac257c3aa9
commit
88aea719ad
|
@ -181,10 +181,14 @@ function parseAlbumInfo(html, opts) {
|
|||
return file;
|
||||
}
|
||||
basic.track.itemListElement.forEach( track => {
|
||||
let trackUrl = track.item.url;
|
||||
if (!utils.isAbsoluteUrl(trackUrl)) {
|
||||
trackUrl = utils.getUrl(trackUrl, album.url);
|
||||
}
|
||||
album.tracks.push({
|
||||
position: track.position,
|
||||
name: track.item.name,
|
||||
url: track.item.url,
|
||||
url: trackUrl,
|
||||
duration: track.item.duration_secs,
|
||||
streamUrl: _getStreamUrl(track.item.url)
|
||||
});
|
||||
|
|
|
@ -108,6 +108,11 @@ function stripMultipleWhitespaces(str) {
|
|||
return str.replace(/\s+/g, ' ');
|
||||
}
|
||||
|
||||
function isAbsoluteUrl(url) {
|
||||
const isAbsolute = new RegExp('^([a-z]+://|//)', 'i');
|
||||
return isAbsolute.test(url);
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
getUrl,
|
||||
getSiteUrl,
|
||||
|
@ -120,5 +125,6 @@ module.exports = {
|
|||
substrBefore,
|
||||
splitUrl,
|
||||
getSearchUrl,
|
||||
stripMultipleWhitespaces
|
||||
stripMultipleWhitespaces,
|
||||
isAbsoluteUrl
|
||||
};
|
Loading…
Reference in New Issue
Block a user