From bd8cbb59211bbc66b4d7180b9e56694b34c5535f Mon Sep 17 00:00:00 2001 From: vapormusic Date: Sat, 25 Dec 2021 14:55:42 +0700 Subject: [PATCH] improve getting the artist/album from item --- src/renderer/index.js | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/renderer/index.js b/src/renderer/index.js index a3d61196..a35e70be 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -858,11 +858,12 @@ const app = new Vue({ case "artist": let artistId = ''; try { - if (item.relationships.artists && item.relationships.artists.data.length > 0) { - if (item.relationships.artists.data[0].type === "artist" || item.relationships.artists.data[0].type === "artists") { + if (item.relationships.artists && item.relationships.artists.data.length > 0 && !item.relationships.artists.data[0].type.includes("library")) { + if (item.relationships.artists.data[0].type === "artist" || item.relationships.artists.data[0].type === "artists" ) { artistId = item.relationships.artists.data[0].id } - } else { + } + if (artistId == '') { const url = (item.relationships.catalog.data[0].attributes.artistUrl); artistId = (url).substring(url.lastIndexOf('/') + 1) if (artistId.includes('viewCollaboration')) { @@ -892,11 +893,18 @@ const app = new Vue({ case "album": let albumId = ''; try { - if (item.relationships.albums && item.relationships.albums.data.length > 0) { + if (item.relationships.albums && item.relationships.albums.data.length > 0 && !item.relationships.albums.data[0].type.includes("library")) { if (item.relationships.albums.data[0].type === "album" || item.relationships.albums.data[0].type === "albums") { albumId = item.relationships.albums.data[0].id } } + if (albumId == '') { + const url = (item.relationships.catalog.data[0].attributes.url); + albumId = (url).substring(url.lastIndexOf('/') + 1) + if (albumId.includes("?i=")) { + albumId = albumId.substring(0, albumId.indexOf("?i=")) + } + } } catch (_) { } @@ -1201,10 +1209,11 @@ const app = new Vue({ function downloadChunk() { const params = { - "include[library-songs]": "artists,albums", + "include[library-songs]": "catalog,artists,albums", "fields[artists]": "name,url,id", "fields[albums]": "name,url,id", platform: "web", + "fields[catalog]": "artistUrl,albumUrl", "fields[songs]": "artistName,artistUrl,artwork,contentRating,editorialArtwork,name,playParams,releaseDate,url", limit: 100, }