From d757d6a0ec49ce208ab837e496dfd55120ffefd2 Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Sat, 1 May 2010 21:28:56 +0200 Subject: [PATCH] Simplify tag cache return values --- mopidy/backends/gstreamer.py | 2 +- mopidy/utils.py | 14 +++++--------- tests/utils_test.py | 21 ++++----------------- 3 files changed, 10 insertions(+), 27 deletions(-) diff --git a/mopidy/backends/gstreamer.py b/mopidy/backends/gstreamer.py index b4720cd2..826a3669 100644 --- a/mopidy/backends/gstreamer.py +++ b/mopidy/backends/gstreamer.py @@ -188,7 +188,7 @@ class GStreamerLibraryController(BaseLibraryController): self.refresh() def refresh(self, uri=None): - tracks, artists, albums = parse_mpd_tag_cache(settings.TAG_CACHE, + tracks = parse_mpd_tag_cache(settings.TAG_CACHE, settings.MUSIC_FOLDER) for track in tracks: diff --git a/mopidy/utils.py b/mopidy/utils.py index a752b3e7..dc34031d 100644 --- a/mopidy/utils.py +++ b/mopidy/utils.py @@ -151,15 +151,13 @@ def parse_mpd_tag_cache(tag_cache, music_dir=''): Converts a MPD tag_cache into a lists of tracks, artists and albums. """ tracks = set() - artists = set() - albums = set() try: with open(tag_cache) as library: contents = library.read() except IOError, e: logger.error('Could not open tag cache: %s', e) - return tracks, artists, albums + return tracks current = {} state = None @@ -177,16 +175,16 @@ def parse_mpd_tag_cache(tag_cache, music_dir=''): key, value = line.split(': ', 1) if key == 'key': - _convert_mpd_data(current, tracks, artists, albums, music_dir) + _convert_mpd_data(current, tracks, music_dir) current.clear() current[key.lower()] = value - _convert_mpd_data(current, tracks, artists, albums, music_dir) + _convert_mpd_data(current, tracks, music_dir) - return tracks, artists, albums + return tracks -def _convert_mpd_data(data, tracks, artists, albums, music_dir): +def _convert_mpd_data(data, tracks, music_dir): if not data: return @@ -199,14 +197,12 @@ def _convert_mpd_data(data, tracks, artists, albums, music_dir): if 'artist' in data: artist = Artist(name=data['artist']) - artists.add(artist) track_kwargs['artists'] = [artist] album_kwargs['artists'] = [artist] if 'album' in data: album_kwargs['name'] = data['album'] album = Album(**album_kwargs) - albums.add(album) track_kwargs['album'] = album if 'title' in data: diff --git a/tests/utils_test.py b/tests/utils_test.py index 321eda0b..c424fce4 100644 --- a/tests/utils_test.py +++ b/tests/utils_test.py @@ -151,27 +151,19 @@ generate_track('subdir1/subsubdir/song9.mp3') class MPDTagCacheToTracksTest(unittest.TestCase): def test_emtpy_cache(self): - tracks, artists, albums = parse_mpd_tag_cache(data_folder('empty_tag_cache'), + tracks = parse_mpd_tag_cache(data_folder('empty_tag_cache'), data_folder('')) self.assertEqual(set(), tracks) - self.assertEqual(set(), artists) - self.assertEqual(set(), albums) def test_simple_cache(self): - tracks, artists, albums = parse_mpd_tag_cache(data_folder('simple_tag_cache'), + tracks = parse_mpd_tag_cache(data_folder('simple_tag_cache'), data_folder('')) - self.assertEqual(expected_tracks[0], list(tracks)[0]) - self.assertEqual(set(expected_artists), artists) - self.assertEqual(set(expected_albums), albums) def test_advanced_cache(self): - tracks, artists, albums = parse_mpd_tag_cache(data_folder('advanced_tag_cache'), + tracks = parse_mpd_tag_cache(data_folder('advanced_tag_cache'), data_folder('')) - self.assertEqual(set(expected_tracks), tracks) - self.assertEqual(set(expected_artists), artists) - self.assertEqual(set(expected_albums), albums) def test_unicode_cache(self): raise SkipTest @@ -181,12 +173,7 @@ class MPDTagCacheToTracksTest(unittest.TestCase): raise SkipTest def test_cache_with_blank_track_info(self): - tracks, artists, albums = parse_mpd_tag_cache(data_folder('blank_tag_cache'), + tracks = parse_mpd_tag_cache(data_folder('blank_tag_cache'), data_folder('')) - uri = path_to_uri(data_folder('song1.mp3')) - self.assertEqual(set([Track(uri=uri, length=4000)]), tracks) - self.assertEqual(set(), artists) - self.assertEqual(set(), albums) -