Skip to content

Commit

Permalink
Add Track MBIDs to ripped files
Browse files Browse the repository at this point in the history
See https://musicbrainz.org/doc/Track

First part of #200

Signed-off-by: Frederik “Freso” S. Olesen <freso.dk@gmail.com>
  • Loading branch information
Freso committed Feb 13, 2019
1 parent 1cf784c commit 41b1b1f
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 2 deletions.
4 changes: 3 additions & 1 deletion whipper/common/mbngs.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ class TrackMetadata(object):
mbid = None
sortName = None
mbidArtist = None
mbidRecording = None


class DiscMetadata(object):
Expand Down Expand Up @@ -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))
Expand Down
4 changes: 3 additions & 1 deletion whipper/common/program.py
Original file line number Diff line number Diff line change
Expand Up @@ -393,7 +393,8 @@ def getTagList(self, number, mbdiscid):
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)
Expand All @@ -420,6 +421,7 @@ def getTagList(self, number, mbdiscid):
tags['DATE'] = self.metadata.release

if number > 0:
tags['MUSICBRAINZ_RELEASETRACKID'] = mbidTrack
tags['MUSICBRAINZ_TRACKID'] = mbidRecording
tags['MUSICBRAINZ_ARTISTID'] = mbidTrackArtist
tags['MUSICBRAINZ_ALBUMID'] = mbidRelease
Expand Down
8 changes: 8 additions & 0 deletions whipper/test/test_common_mbngs.py
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,10 @@ def testNenaAndKimWildSingle(self):
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]

Expand All @@ -190,3 +194,7 @@ def testNenaAndKimWildSingle(self):
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')

0 comments on commit 41b1b1f

Please sign in to comment.