Skip to content

Commit

Permalink
Merge 38aa702 into 96633e1
Browse files Browse the repository at this point in the history
  • Loading branch information
ZenithDK committed Nov 2, 2013
2 parents 96633e1 + 38aa702 commit 078a1e4
Show file tree
Hide file tree
Showing 8 changed files with 51 additions and 18 deletions.
1 change: 0 additions & 1 deletion mopidy/backends/local/translator.py
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,6 @@ def _convert_mpd_data(data, tracks):

if 'artist' in data:
artist_kwargs['name'] = data['artist']
albumartist_kwargs['name'] = data['artist']

if 'albumartist' in data:
albumartist_kwargs['name'] = data['albumartist']
Expand Down
5 changes: 2 additions & 3 deletions mopidy/frontends/mpd/translator.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,6 @@ def track_to_mpd_format(track, position=None):
track.track_no, track.album.num_tracks)))
else:
result.append(('Track', track.track_no))
if track.album is not None and track.album.artists:
artists = artists_to_mpd_format(track.album.artists)
result.append(('AlbumArtist', artists))
if position is not None and tlid is not None:
result.append(('Pos', position))
result.append(('Id', tlid))
Expand All @@ -55,6 +52,8 @@ def track_to_mpd_format(track, position=None):
# FIXME don't use first and best artist?
# FIXME don't duplicate following code?
if track.album is not None and track.album.artists:
artists = artists_to_mpd_format(track.album.artists)
result.append(('AlbumArtist', artists))
artists = filter(
lambda a: a.musicbrainz_id is not None, track.album.artists)
if artists:
Expand Down
20 changes: 18 additions & 2 deletions tests/backends/local/library_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ class LocalLibraryProviderTest(unittest.TestCase):
Album(name='album1', artists=[artists[0]]),
Album(name='album2', artists=[artists[1]]),
Album(name='album3', artists=[artists[2]]),
Album(name='album4'),
]

tracks = [
Expand All @@ -41,6 +42,10 @@ class LocalLibraryProviderTest(unittest.TestCase):
uri='local:track:path3', name='track3',
artists=[artists[3]], album=albums[2],
date='2003', length=4000, track_no=3),
Track(
uri='local:track:path4', name='track4',
artists=[artists[2]], album=albums[3],
date='2004', length=60000, track_no=4),
]

config = {
Expand Down Expand Up @@ -108,6 +113,9 @@ def test_find_exact_no_hits(self):
result = self.library.find_exact(artist=['unknown artist'])
self.assertEqual(list(result[0].tracks), [])

result = self.library.find_exact(albumartist=['unknown artist'])
self.assertEqual(list(result[0].tracks), [])

result = self.library.find_exact(album=['unknown artist'])
self.assertEqual(list(result[0].tracks), [])

Expand Down Expand Up @@ -146,6 +154,12 @@ def test_find_exact_artist(self):
result = self.library.find_exact(artist=['artist2'])
self.assertEqual(list(result[0].tracks), self.tracks[1:2])

import logging
logger = logging.getLogger('mopidy.backends.local')
logger.debug("==TEST= tracks: {}".format(self.tracks[2:3]))
result = self.library.find_exact(artist=['artist3'])
self.assertEqual(list(result[0].tracks), self.tracks[3:4])

def test_find_exact_album(self):
result = self.library.find_exact(album=['album1'])
self.assertEqual(list(result[0].tracks), self.tracks[:1])
Expand Down Expand Up @@ -204,7 +218,8 @@ def test_find_exact_any(self):

# Matches on track album artists
result = self.library.find_exact(any=['artist3'])
self.assertEqual(list(result[0].tracks), self.tracks[2:3])
self.assertEqual(list(result[0].tracks), [self.tracks[3],
self.tracks[2]])

# Matches on track year
result = self.library.find_exact(any=['2002'])
Expand Down Expand Up @@ -338,7 +353,8 @@ def test_search_any(self):

# Matches on track album artists
result = self.library.search(any=['Tist3'])
self.assertEqual(list(result[0].tracks), self.tracks[2:3])
self.assertEqual(list(result[0].tracks), [self.tracks[3],
self.tracks[2]])

# Matches on URI
result = self.library.search(any=['TH1'])
Expand Down
26 changes: 14 additions & 12 deletions tests/backends/local/translator_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,28 +93,30 @@ class URItoM3UTest(unittest.TestCase):

expected_artists = [Artist(name='name')]
expected_albums = [
Album(name='albumname', artists=expected_artists, num_tracks=2)]
Album(name='albumname', artists=expected_artists, num_tracks=2),
Album(name='albumname', num_tracks=2)
]
expected_tracks = []


def generate_track(path, ident):
def generate_track(path, ident, album_id):
uri = 'local:track:%s' % path
track = Track(
uri=uri, name='trackname', artists=expected_artists,
album=expected_albums[0], track_no=1, date='2006', length=4000,
album=expected_albums[album_id], track_no=1, date='2006', length=4000,
last_modified=1272319626)
expected_tracks.append(track)


generate_track('song1.mp3', 6)
generate_track('song2.mp3', 7)
generate_track('song3.mp3', 8)
generate_track('subdir1/song4.mp3', 2)
generate_track('subdir1/song5.mp3', 3)
generate_track('subdir2/song6.mp3', 4)
generate_track('subdir2/song7.mp3', 5)
generate_track('subdir1/subsubdir/song8.mp3', 0)
generate_track('subdir1/subsubdir/song9.mp3', 1)
generate_track('song1.mp3', 6, 0)
generate_track('song2.mp3', 7, 0)
generate_track('song3.mp3', 8, 1)
generate_track('subdir1/song4.mp3', 2, 0)
generate_track('subdir1/song5.mp3', 3, 0)
generate_track('subdir2/song6.mp3', 4, 1)
generate_track('subdir2/song7.mp3', 5, 1)
generate_track('subdir1/subsubdir/song8.mp3', 0, 0)
generate_track('subdir1/subsubdir/song9.mp3', 1, 1)


class MPDTagCacheToTracksTest(unittest.TestCase):
Expand Down
5 changes: 5 additions & 0 deletions tests/data/advanced_tag_cache
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ key: song8.mp3
file: subdir1/subsubdir/song8.mp3
Time: 4
Artist: name
AlbumArtist: name
Title: trackname
Album: albumname
Track: 1/2
Expand All @@ -32,6 +33,7 @@ key: song4.mp3
file: subdir1/song4.mp3
Time: 4
Artist: name
AlbumArtist: name
Title: trackname
Album: albumname
Track: 1/2
Expand All @@ -41,6 +43,7 @@ key: song5.mp3
file: subdir1/song5.mp3
Time: 4
Artist: name
AlbumArtist: name
Title: trackname
Album: albumname
Track: 1/2
Expand Down Expand Up @@ -76,6 +79,7 @@ key: song1.mp3
file: /song1.mp3
Time: 4
Artist: name
AlbumArtist: name
Title: trackname
Album: albumname
Track: 1/2
Expand All @@ -85,6 +89,7 @@ key: song2.mp3
file: /song2.mp3
Time: 4
Artist: name
AlbumArtist: name
Title: trackname
Album: albumname
Track: 1/2
Expand Down
10 changes: 10 additions & 0 deletions tests/data/library_tag_cache
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ songList begin
key: key1
file: /path1
Artist: artist1
AlbumArtist: artist1
Title: track1
Album: album1
Date: 2001-02-03
Expand All @@ -14,6 +15,7 @@ Time: 4
key: key2
file: /path2
Artist: artist2
AlbumArtist: artist2
Title: track2
Album: album2
Date: 2002
Expand All @@ -28,4 +30,12 @@ Album: album3
Date: 2003
Track: 3
Time: 4
key: key4
file: /path4
Artist: artist3
Title: track4
Album: album4
Date: 2004
Track: 4
Time: 60
songList end
1 change: 1 addition & 0 deletions tests/data/simple_tag_cache
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ key: song1.mp3
file: /song1.mp3
Time: 4
Artist: name
AlbumArtist: name
Title: trackname
Album: albumname
Track: 1/2
Expand Down
1 change: 1 addition & 0 deletions tests/data/utf8_tag_cache
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ key: song1.mp3
file: /song1.mp3
Time: 4
Artist: æøå
AlbumArtist: æøå
Title: æøå
Album: æøå
mtime: 1272319626
Expand Down

0 comments on commit 078a1e4

Please sign in to comment.