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
|
from mopidy.models import Track, Artist, Album
|
||||||
|
|
||||||
def translator(data):
|
def translator(data):
|
||||||
|
albumartist_kwargs = {}
|
||||||
album_kwargs = {}
|
album_kwargs = {}
|
||||||
artist_kwargs = {}
|
artist_kwargs = {}
|
||||||
track_kwargs = {}
|
track_kwargs = {}
|
||||||
@ -38,6 +39,12 @@ def translator(data):
|
|||||||
if 'track-number' in data:
|
if 'track-number' in data:
|
||||||
track_kwargs['track_no'] = data['track-number']
|
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['uri'] = data['uri']
|
||||||
track_kwargs['length'] = data['duration']
|
track_kwargs['length'] = data['duration']
|
||||||
track_kwargs['album'] = Album(**album_kwargs)
|
track_kwargs['album'] = Album(**album_kwargs)
|
||||||
|
|||||||
@ -19,6 +19,7 @@ class TranslatorTest(unittest.TestCase):
|
|||||||
'album': u'albumname',
|
'album': u'albumname',
|
||||||
'track-number': 1,
|
'track-number': 1,
|
||||||
'artist': u'name',
|
'artist': u'name',
|
||||||
|
'album-artist': 'albumartistname',
|
||||||
'title': u'trackname',
|
'title': u'trackname',
|
||||||
'track-count': 2,
|
'track-count': 2,
|
||||||
'date': FakeGstDate(2006, 1, 1,),
|
'date': FakeGstDate(2006, 1, 1,),
|
||||||
@ -35,6 +36,10 @@ class TranslatorTest(unittest.TestCase):
|
|||||||
'name': 'name',
|
'name': 'name',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
self.albumartist = {
|
||||||
|
'name': 'albumartistname',
|
||||||
|
}
|
||||||
|
|
||||||
self.track = {
|
self.track = {
|
||||||
'uri': 'uri',
|
'uri': 'uri',
|
||||||
'name': 'trackname',
|
'name': 'trackname',
|
||||||
@ -44,6 +49,8 @@ class TranslatorTest(unittest.TestCase):
|
|||||||
}
|
}
|
||||||
|
|
||||||
def build_track(self):
|
def build_track(self):
|
||||||
|
if self.albumartist:
|
||||||
|
self.album['artists'] = [Artist(**self.albumartist)]
|
||||||
self.track['album'] = Album(**self.album)
|
self.track['album'] = Album(**self.album)
|
||||||
self.track['artists'] = [Artist(**self.artist)]
|
self.track['artists'] = [Artist(**self.artist)]
|
||||||
return Track(**self.track)
|
return Track(**self.track)
|
||||||
@ -81,6 +88,11 @@ class TranslatorTest(unittest.TestCase):
|
|||||||
del self.artist['name']
|
del self.artist['name']
|
||||||
self.check()
|
self.check()
|
||||||
|
|
||||||
|
def test_missing_album_artist(self):
|
||||||
|
del self.data['album-artist']
|
||||||
|
del self.albumartist['name']
|
||||||
|
self.check()
|
||||||
|
|
||||||
def test_missing_date(self):
|
def test_missing_date(self):
|
||||||
del self.data['date']
|
del self.data['date']
|
||||||
del self.track['date']
|
del self.track['date']
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user