Fix URLs in albums and tracks

This commit is contained in:
patrickkfkan 2021-02-13 21:41:26 +08:00
parent e81ecca731
commit b0970c79fe
2 changed files with 10 additions and 19 deletions

View File

@ -158,31 +158,22 @@ function parseAlbumInfo(html, opts) {
};
if (Array.isArray(basic.albumRelease)) {
basic.albumRelease.forEach( release => {
album.releases.push({
const releaseItem = {
name: release.name,
url: release.url,
url: null,
format: release.musicReleaseFormat,
description: release.description || '',
imageUrl: utils.reformatImageUrl(release.image, opts.albumImageFormat)
});
}
if (release.url) {
releaseItem.url = !utils.isAbsoluteUrl(release.url) ? utils.getUrl(release.url, album.url) : release.url;
}
album.releases.push(releaseItem);
});
}
if (Array.isArray(basic.track.itemListElement)) {
const _getStreamUrl = (url) => {
let file = null;
if (Array.isArray(extra.trackinfo)) {
extra.trackinfo.every( track => {
if (url.endsWith(track.title_link)) {
file = track.file && track.file['mp3-128'] ? track.file['mp3-128'] : null;
return false;
}
return true;
});
}
return file;
}
basic.track.itemListElement.forEach( track => {
let trackUrl = track.item.url;
let trackUrl = track.item['@id'];
if (!utils.isAbsoluteUrl(trackUrl)) {
trackUrl = utils.getUrl(trackUrl, album.url);
}
@ -231,7 +222,7 @@ function parseTrackInfo(html, opts) {
const track = {
type: 'track',
name: basic.name,
url: basic.url,
url: basic['@id'],
imageUrl: opts.imageBaseUrl + '/img/a' + extra.art_id + '_' + opts.albumImageFormat.id + '.jpg',
releaseDate: extra.current.release_date,
duration: getAdditionalPropertyValue(basic, 'duration_secs'),

View File

@ -1,6 +1,6 @@
{
"name": "bandcamp-fetch",
"version": "0.1.0a-20210213.2",
"version": "0.1.0a-20210213.3",
"description": "JS library for scraping Bandcamp content",
"main": "lib/index.js",
"scripts": {