Add album-artist support to translator

This commit is contained in:
Thomas Adamcik 2010-10-30 20:38:33 +02:00
parent 52ab538fc4
commit 8a4dc1033b
2 changed files with 19 additions and 0 deletions

View File

@ -14,6 +14,7 @@ from mopidy.utils.path import path_to_uri, find_files
from mopidy.models import Track, Artist, Album
def translator(data):
albumartist_kwargs = {}
album_kwargs = {}
artist_kwargs = {}
track_kwargs = {}
@ -38,6 +39,12 @@ def translator(data):
if 'track-number' in data:
track_kwargs['track_no'] = data['track-number']
if 'album-artist' in data:
albumartist_kwargs['name'] = data['album-artist']
if albumartist_kwargs:
album_kwargs['artists'] = [Artist(**albumartist_kwargs)]
track_kwargs['uri'] = data['uri']
track_kwargs['length'] = data['duration']
track_kwargs['album'] = Album(**album_kwargs)

View File

@ -19,6 +19,7 @@ class TranslatorTest(unittest.TestCase):
'album': u'albumname',
'track-number': 1,
'artist': u'name',
'album-artist': 'albumartistname',
'title': u'trackname',
'track-count': 2,
'date': FakeGstDate(2006, 1, 1,),
@ -35,6 +36,10 @@ class TranslatorTest(unittest.TestCase):
'name': 'name',
}
self.albumartist = {
'name': 'albumartistname',
}
self.track = {
'uri': 'uri',
'name': 'trackname',
@ -44,6 +49,8 @@ class TranslatorTest(unittest.TestCase):
}
def build_track(self):
if self.albumartist:
self.album['artists'] = [Artist(**self.albumartist)]
self.track['album'] = Album(**self.album)
self.track['artists'] = [Artist(**self.artist)]
return Track(**self.track)
@ -81,6 +88,11 @@ class TranslatorTest(unittest.TestCase):
del self.artist['name']
self.check()
def test_missing_album_artist(self):
del self.data['album-artist']
del self.albumartist['name']
self.check()
def test_missing_date(self):
del self.data['date']
del self.track['date']