Add album-artist support to translator
This commit is contained in:
parent
52ab538fc4
commit
8a4dc1033b
@ -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)
|
||||
|
||||
@ -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']
|
||||
|
||||
Loading…
Reference in New Issue
Block a user