Add Track MBIDs to ripped files

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

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

Signed-off-by: Frederik “Freso” S. Olesen <freso.dk@gmail.com>
This commit is contained in:
Frederik “Freso” S. Olesen
2019-02-13 17:56:39 +01:00
parent 1cf784ca7f
commit 41b1b1feff
3 changed files with 14 additions and 2 deletions

View File

@@ -52,6 +52,7 @@ class TrackMetadata(object):
mbid = None
sortName = None
mbidArtist = None
mbidRecording = None
class DiscMetadata(object):
@@ -229,7 +230,8 @@ def _getMetadata(releaseShort, release, discid, country=None):
track.mbidArtist = trackCredit.getIds()
track.title = t['recording']['title']
track.mbid = t['recording']['id']
track.mbid = t['id']
track.mbidRecording = t['recording']['id']
# FIXME: unit of duration ?
track.duration = int(t['recording'].get('length', 0))

View File

@@ -393,7 +393,8 @@ class Program:
track = self.metadata.tracks[number - 1]
trackArtist = track.artist
title = track.title
mbidRecording = track.mbid
mbidRecording = track.mbidRecording
mbidTrack = track.mbid
mbidTrackArtist = track.mbidArtist
except IndexError as e:
logger.error('no track %d found, %r', number, e)
@@ -420,6 +421,7 @@ class Program:
tags['DATE'] = self.metadata.release
if number > 0:
tags['MUSICBRAINZ_RELEASETRACKID'] = mbidTrack
tags['MUSICBRAINZ_TRACKID'] = mbidRecording
tags['MUSICBRAINZ_ARTISTID'] = mbidTrackArtist
tags['MUSICBRAINZ_ALBUMID'] = mbidRelease

View File

@@ -182,6 +182,10 @@ class MetadataTestCase(unittest.TestCase):
self.assertEqual(track1.mbidArtist,
u'38bfaa7f-ee98-48cb-acd0-946d7aeecd76'
';4b462375-c508-432a-8c88-ceeec38b16ae')
self.assertEqual(track1.mbid,
u'1cc96e78-28ed-3820-b0b6-614c35b121ac')
self.assertEqual(track1.mbidRecording,
u'fde5622c-ce23-4ebb-975d-51d4a926f901')
track2 = metadata.tracks[1]
@@ -190,3 +194,7 @@ class MetadataTestCase(unittest.TestCase):
self.assertEqual(track2.mbidArtist,
u'38bfaa7f-ee98-48cb-acd0-946d7aeecd76'
';4b462375-c508-432a-8c88-ceeec38b16ae')
self.assertEqual(track2.mbid,
u'f16db4bf-9a34-3d5a-a975-c9375ab7a2ca')
self.assertEqual(track2.mbidRecording,
u'5f19758e-7421-4c71-a599-9a9575d8e1b0')