diff --git a/mopidy/backends/local/translator.py b/mopidy/backends/local/translator.py index 51522ead..be7ab8a8 100644 --- a/mopidy/backends/local/translator.py +++ b/mopidy/backends/local/translator.py @@ -100,8 +100,11 @@ def _convert_mpd_data(data, tracks, music_dir): albumartist_kwargs = {} if 'track' in data: - album_kwargs['num_tracks'] = int(data['track'].split('/')[1]) - track_kwargs['track_no'] = int(data['track'].split('/')[0]) + if '/' in data['track']: + album_kwargs['num_tracks'] = int(data['track'].split('/')[1]) + track_kwargs['track_no'] = int(data['track'].split('/')[0]) + else: + track_kwargs['track_no'] = int(data['track']) if 'artist' in data: artist_kwargs['name'] = data['artist'] diff --git a/mopidy/frontends/mpd/translator.py b/mopidy/frontends/mpd/translator.py index 3ead23c7..c8fe6be4 100644 --- a/mopidy/frontends/mpd/translator.py +++ b/mopidy/frontends/mpd/translator.py @@ -85,7 +85,7 @@ def artists_to_mpd_format(artists): :rtype: string """ artists.sort(key=lambda a: a.name) - return u', '.join([a.name for a in artists]) + return u', '.join([a.name for a in artists if a.name]) def tracks_to_mpd_format(tracks, start=0, end=None, cpids=None): """ diff --git a/tests/frontends/mpd/serializer_test.py b/tests/frontends/mpd/serializer_test.py index cfed498a..b0c57588 100644 --- a/tests/frontends/mpd/serializer_test.py +++ b/tests/frontends/mpd/serializer_test.py @@ -95,6 +95,11 @@ class TrackMpdFormatTest(unittest.TestCase): translated = translator.artists_to_mpd_format(artists) self.assertEqual(translated, u'ABBA, Beatles') + def test_artists_to_mpd_format_artist_with_no_name(self): + artists = [Artist(name=None)] + translated = translator.artists_to_mpd_format(artists) + self.assertEqual(translated, u'') + class PlaylistMpdFormatTest(unittest.TestCase): def test_mpd_format(self):