Fix musicbrainz support in mpd format track
This commit is contained in:
parent
e7a7d342b8
commit
31933c2c2f
@ -41,6 +41,15 @@ def track_to_mpd_format(track, position=None, cpid=None):
|
||||
if position is not None and cpid is not None:
|
||||
result.append(('Pos', position))
|
||||
result.append(('Id', cpid))
|
||||
if track.album is not None and track.album.musicbrainz_id is not None:
|
||||
result.append(('MUSICBRAINZ_ALBUMID', track.album.musicbrainz_id))
|
||||
if track.artists:
|
||||
artists = filter(lambda a: a.musicbrainz_id is not None, track.artists)
|
||||
if artists:
|
||||
# FIXME don't use first and best artist?
|
||||
result.append(('MUSICBRAINZ_ARTISTID', artists[0].musicbrainz_id))
|
||||
if track.musicbrainz_id is not None:
|
||||
result.append(('MUSICBRAINZ_TRACKID', track.musicbrainz_id))
|
||||
return result
|
||||
|
||||
MPD_KEY_ORDER = '''
|
||||
|
||||
@ -69,19 +69,19 @@ class TrackMpdFormatTest(unittest.TestCase):
|
||||
|
||||
def test_track_to_mpd_format_musicbrainz_trackid(self):
|
||||
track = self.track.copy(musicbrainz_id='foo')
|
||||
result = translator.track_to_mpd_format(self.track)
|
||||
result = translator.track_to_mpd_format(track)
|
||||
self.assert_(('MUSICBRAINZ_TRACKID', 'foo') in result)
|
||||
|
||||
def test_track_to_mpd_format_musicbrainz_albumid(self):
|
||||
album = self.track.album.copy(musicbrainz_id='foo')
|
||||
track = self.track.copy(album=album)
|
||||
result = translator.track_to_mpd_format(self.track)
|
||||
result = translator.track_to_mpd_format(track)
|
||||
self.assert_(('MUSICBRAINZ_ALBUMID', 'foo') in result)
|
||||
|
||||
def test_track_to_mpd_format_musicbrainz_artistid(self):
|
||||
artist = list(self.track.artists)[0].copy(musicbrainz_id='foo')
|
||||
track = self.track.copy(artists=[artist])
|
||||
result = translator.track_to_mpd_format(self.track)
|
||||
result = translator.track_to_mpd_format(track)
|
||||
self.assert_(('MUSICBRAINZ_ARTISTID', 'foo') in result)
|
||||
|
||||
def test_artists_to_mpd_format(self):
|
||||
|
||||
Loading…
Reference in New Issue
Block a user