From a211ace29ea5ee76ed3a4e2aad8e413d78f3fdca Mon Sep 17 00:00:00 2001 From: hirokobayashi <24429404+hirokobayashi@users.noreply.github.com> Date: Thu, 18 Jun 2020 16:49:48 +0900 Subject: [PATCH 1/6] discogs_importer: Change subtracks in Discogs to separete tracks in Musicbrainz --- discogs_importer.user.js | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/discogs_importer.user.js b/discogs_importer.user.js index da878e1c..ee550011 100644 --- a/discogs_importer.user.js +++ b/discogs_importer.user.js @@ -582,12 +582,13 @@ function parseDiscogsRelease(data) { } // Inspect tracks - let tracks = []; + //let tracks = []; let heading = ''; let releaseNumber = 1; let lastPosition = 0; $.each(discogsRelease.tracklist, function (index, discogsTrack) { + let tracks = []; if (discogsTrack.type_ == 'heading') { heading = discogsTrack.title; return; @@ -629,14 +630,19 @@ function parseDiscogsRelease(data) { if (subtrack.type_ != 'track') { return; } + let track_new = new Object(); if (subtrack.duration) { + track_new.duraction = MBImport.hmsToMilliSeconds(subtrack.duration); subtrack_total_duration += MBImport.hmsToMilliSeconds(subtrack.duration); } if (subtrack.title) { + track_new.title = track.title+": "+ subtrack.title; + track_new.artist_credit= track.artist_credit subtrack_titles.push(subtrack.title); } else { subtrack_titles.push('[unknown]'); } + tracks.push(track_new) }); if (subtrack_titles.length) { if (track.title) { @@ -725,7 +731,13 @@ function parseDiscogsRelease(data) { // Trackposition is empty e.g. for release title if (trackPosition != '' && trackPosition != null) { - release.discs[discindex].tracks.push(track); + if (tracks.length > 0){ + for (var i =0; i< tracks.length; i++){ + release.discs[discindex].tracks.push(tracks[i]); + } + }else { + release.discs[discindex].tracks.push(track); + } } if (buggyTrackNumber && !release.maybe_buggy) { From 27ebcc890aa9f0da1348f38d2e8f58666500dbf6 Mon Sep 17 00:00:00 2001 From: hirokobayashi <24429404+hirokobayashi@users.noreply.github.com> Date: Fri, 19 Jun 2020 14:47:11 +0900 Subject: [PATCH 2/6] Fix linter error --- discogs_importer.user.js | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/discogs_importer.user.js b/discogs_importer.user.js index ee550011..3184634f 100644 --- a/discogs_importer.user.js +++ b/discogs_importer.user.js @@ -588,7 +588,7 @@ function parseDiscogsRelease(data) { let releaseNumber = 1; let lastPosition = 0; $.each(discogsRelease.tracklist, function (index, discogsTrack) { - let tracks = []; + let tracks = []; if (discogsTrack.type_ == 'heading') { heading = discogsTrack.title; return; @@ -630,19 +630,19 @@ function parseDiscogsRelease(data) { if (subtrack.type_ != 'track') { return; } - let track_new = new Object(); + let track_new = new Object(); if (subtrack.duration) { track_new.duraction = MBImport.hmsToMilliSeconds(subtrack.duration); subtrack_total_duration += MBImport.hmsToMilliSeconds(subtrack.duration); } if (subtrack.title) { - track_new.title = track.title+": "+ subtrack.title; - track_new.artist_credit= track.artist_credit + track_new.title = `${track.title}: ${subtrack.title}`; + track_new.artist_credit= track.artist_credit subtrack_titles.push(subtrack.title); } else { subtrack_titles.push('[unknown]'); } - tracks.push(track_new) + tracks.push(track_new) }); if (subtrack_titles.length) { if (track.title) { @@ -731,13 +731,13 @@ function parseDiscogsRelease(data) { // Trackposition is empty e.g. for release title if (trackPosition != '' && trackPosition != null) { - if (tracks.length > 0){ - for (var i =0; i< tracks.length; i++){ - release.discs[discindex].tracks.push(tracks[i]); - } - }else { - release.discs[discindex].tracks.push(track); - } + if (tracks.length > 0){ + for (var i =0; i< tracks.length; i++){ + release.discs[discindex].tracks.push(tracks[i]); + } + }else { + release.discs[discindex].tracks.push(track); + } } if (buggyTrackNumber && !release.maybe_buggy) { From 26baf96a96754504c2a023a6fae98ab4f25b2541 Mon Sep 17 00:00:00 2001 From: hirokobayashi <24429404+hirokobayashi@users.noreply.github.com> Date: Fri, 19 Jun 2020 15:48:54 +0900 Subject: [PATCH 3/6] Fix linter error --- discogs_importer.user.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/discogs_importer.user.js b/discogs_importer.user.js index 3184634f..844f7f66 100644 --- a/discogs_importer.user.js +++ b/discogs_importer.user.js @@ -637,12 +637,12 @@ function parseDiscogsRelease(data) { } if (subtrack.title) { track_new.title = `${track.title}: ${subtrack.title}`; - track_new.artist_credit= track.artist_credit + track_new.artist_credit = track.artist_credit subtrack_titles.push(subtrack.title); } else { subtrack_titles.push('[unknown]'); } - tracks.push(track_new) + tracks.push(track_new); }); if (subtrack_titles.length) { if (track.title) { @@ -731,11 +731,11 @@ function parseDiscogsRelease(data) { // Trackposition is empty e.g. for release title if (trackPosition != '' && trackPosition != null) { - if (tracks.length > 0){ - for (var i =0; i< tracks.length; i++){ + if (tracks.length > 0) { + for (var i = 0; i < tracks.length; i++) { release.discs[discindex].tracks.push(tracks[i]); } - }else { + } else { release.discs[discindex].tracks.push(track); } } From 5207903e55651bee9f31c9368961cec27e4db5f5 Mon Sep 17 00:00:00 2001 From: hirokobayashi <24429404+hirokobayashi@users.noreply.github.com> Date: Fri, 19 Jun 2020 15:53:16 +0900 Subject: [PATCH 4/6] Fix linter error --- discogs_importer.user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/discogs_importer.user.js b/discogs_importer.user.js index 844f7f66..87d221a0 100644 --- a/discogs_importer.user.js +++ b/discogs_importer.user.js @@ -637,7 +637,7 @@ function parseDiscogsRelease(data) { } if (subtrack.title) { track_new.title = `${track.title}: ${subtrack.title}`; - track_new.artist_credit = track.artist_credit + track_new.artist_credit = track.artist_credit; subtrack_titles.push(subtrack.title); } else { subtrack_titles.push('[unknown]'); From b8178e3697513dfde84dfa74a4c7fafe33128d14 Mon Sep 17 00:00:00 2001 From: Hirokazu Kobayashi <24429404+hirokobayashi@users.noreply.github.com> Date: Sun, 24 May 2026 10:04:12 +0900 Subject: [PATCH 5/6] Fix typo --- discogs_importer.user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/discogs_importer.user.js b/discogs_importer.user.js index 02ffc3f3..e8cd1954 100644 --- a/discogs_importer.user.js +++ b/discogs_importer.user.js @@ -713,7 +713,7 @@ function parseDiscogsRelease(discogsRelease) { } let track_new = new Object(); if (subtrack.duration) { - track_new.duraction = MBImport.hmsToMilliSeconds(subtrack.duration); + track_new.duration = MBImport.hmsToMilliSeconds(subtrack.duration); subtrack_total_duration += MBImport.hmsToMilliSeconds(subtrack.duration); } if (subtrack.title) { From 5aed70a3ff56ed3bd241665de24ce4a445b008f5 Mon Sep 17 00:00:00 2001 From: Hirokazu Kobayashi <24429404+hirokobayashi@users.noreply.github.com> Date: Fri, 5 Jun 2026 22:57:04 +0900 Subject: [PATCH 6/6] export parseDscogsRelease for tests --- discogs_importer.user.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/discogs_importer.user.js b/discogs_importer.user.js index b6ebc8c7..98d3b395 100644 --- a/discogs_importer.user.js +++ b/discogs_importer.user.js @@ -1167,3 +1167,9 @@ const Countries = { 'Saint Helena': 'SH', 'Svalbard and Jan Mayen': 'SJ', }; + +if (typeof module !== "undefined") { + module.exports = { + parseDiscogsRelease, + }; +}