Add Release Group MBIDs to ripped files

See https://musicbrainz.org/doc/Release_Group

Second part of https://github.com/whipper-team/whipper/issues/200

(MusicBrainz JSON test data dumps needed to be refreshed due to the
new `includes` in the MusicBrainz web service call.)

Signed-off-by: Frederik “Freso” S. Olesen <freso.dk@gmail.com>
This commit is contained in:
Frederik “Freso” S. Olesen
2019-02-13 19:03:15 +01:00
parent 41b1b1feff
commit c963b0173b
9 changed files with 13 additions and 8 deletions

View File

@@ -76,6 +76,7 @@ class DiscMetadata(object):
releaseType = None
mbid = None
mbidReleaseGroup = None
mbidArtist = None
url = None
@@ -189,6 +190,7 @@ def _getMetadata(releaseShort, release, discid, country=None):
discMD.release = release['date']
discMD.mbid = release['id']
discMD.mbidReleaseGroup = release['release-group']['id']
discMD.mbidArtist = discCredit.getIds()
discMD.url = 'https://musicbrainz.org/release/' + release['id']
@@ -305,7 +307,8 @@ def musicbrainz(discid, country=None, record=False):
res = musicbrainzngs.get_release_by_id(
release['id'], includes=["artists", "artist-credits",
"recordings", "discids", "labels"])
"recordings", "discids", "labels",
"release-groups"])
_record(record, 'release', release['id'], res)
releaseDetail = res['release']
formatted = json.dumps(releaseDetail, sort_keys=False, indent=4)

View File

@@ -386,6 +386,7 @@ class Program:
releaseArtist = self.metadata.artist
disc = self.metadata.title
mbidRelease = self.metadata.mbid
mbidReleaseGroup = self.metadata.mbidReleaseGroup
mbidReleaseArtist = self.metadata.mbidArtist
if number > 0:
@@ -425,6 +426,7 @@ class Program:
tags['MUSICBRAINZ_TRACKID'] = mbidRecording
tags['MUSICBRAINZ_ARTISTID'] = mbidTrackArtist
tags['MUSICBRAINZ_ALBUMID'] = mbidRelease
tags['MUSICBRAINZ_RELEASEGROUPID'] = mbidReleaseGroup
tags['MUSICBRAINZ_ALBUMARTISTID'] = mbidReleaseArtist
# TODO/FIXME: ISRC tag

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long