From f0ebc242344ee03847c7da601fee8de49539d399 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Sun, 20 Mar 2011 01:04:18 +0100 Subject: [PATCH] Update MPD/stored playlists --- .../mpd/protocol/stored_playlists.py | 9 ++++--- tests/frontends/mpd/stored_playlists_test.py | 26 ++++++++++++------- 2 files changed, 21 insertions(+), 14 deletions(-) diff --git a/mopidy/frontends/mpd/protocol/stored_playlists.py b/mopidy/frontends/mpd/protocol/stored_playlists.py index f0a63544..6eccffac 100644 --- a/mopidy/frontends/mpd/protocol/stored_playlists.py +++ b/mopidy/frontends/mpd/protocol/stored_playlists.py @@ -19,8 +19,8 @@ def listplaylist(frontend, name): file: relative/path/to/file3.mp3 """ try: - return ['file: %s' % t.uri - for t in frontend.backend.stored_playlists.get(name=name).tracks] + playlist = frontend.backend.stored_playlists.get(name=name).get() + return ['file: %s' % t.uri for t in playlist.tracks] except LookupError: raise MpdNoExistError(u'No such playlist', command=u'listplaylist') @@ -39,7 +39,8 @@ def listplaylistinfo(frontend, name): Album, Artist, Track """ try: - return frontend.backend.stored_playlists.get(name=name).mpd_format() + playlist = frontend.backend.stored_playlists.get(name=name).get() + return playlist.mpd_format() except LookupError: raise MpdNoExistError( u'No such playlist', command=u'listplaylistinfo') @@ -92,7 +93,7 @@ def load(frontend, name): - ``load`` appends the given playlist to the current playlist. """ try: - playlist = frontend.backend.stored_playlists.get(name=name) + playlist = frontend.backend.stored_playlists.get(name=name).get() frontend.backend.current_playlist.append(playlist.tracks) except LookupError: raise MpdNoExistError(u'No such playlist', command=u'load') diff --git a/tests/frontends/mpd/stored_playlists_test.py b/tests/frontends/mpd/stored_playlists_test.py index a24cbb88..e981c9ed 100644 --- a/tests/frontends/mpd/stored_playlists_test.py +++ b/tests/frontends/mpd/stored_playlists_test.py @@ -8,8 +8,13 @@ from mopidy.models import Track, Playlist class StoredPlaylistsHandlerTest(unittest.TestCase): def setUp(self): - self.b = DummyBackend(mixer_class=DummyMixer) - self.h = dispatcher.MpdDispatcher(backend=self.b) + self.b = DummyBackend.start().proxy() + self.mixer = DummyMixer.start().proxy() + self.h = dispatcher.MpdDispatcher() + + def tearDown(self): + self.b.stop().get() + self.mixer.stop().get() def test_listplaylist(self): self.b.stored_playlists.playlists = [ @@ -49,22 +54,23 @@ class StoredPlaylistsHandlerTest(unittest.TestCase): def test_load_known_playlist_appends_to_current_playlist(self): self.b.current_playlist.append([Track(uri='a'), Track(uri='b')]) - self.assertEqual(len(self.b.current_playlist.tracks), 2) + self.assertEqual(len(self.b.current_playlist.tracks.get()), 2) self.b.stored_playlists.playlists = [Playlist(name='A-list', tracks=[Track(uri='c'), Track(uri='d'), Track(uri='e')])] result = self.h.handle_request(u'load "A-list"') self.assert_(u'OK' in result) - self.assertEqual(len(self.b.current_playlist.tracks), 5) - self.assertEqual(self.b.current_playlist.tracks[0].uri, 'a') - self.assertEqual(self.b.current_playlist.tracks[1].uri, 'b') - self.assertEqual(self.b.current_playlist.tracks[2].uri, 'c') - self.assertEqual(self.b.current_playlist.tracks[3].uri, 'd') - self.assertEqual(self.b.current_playlist.tracks[4].uri, 'e') + tracks = self.b.current_playlist.tracks.get() + self.assertEqual(len(tracks), 5) + self.assertEqual(tracks[0].uri, 'a') + self.assertEqual(tracks[1].uri, 'b') + self.assertEqual(tracks[2].uri, 'c') + self.assertEqual(tracks[3].uri, 'd') + self.assertEqual(tracks[4].uri, 'e') def test_load_unknown_playlist_acks(self): result = self.h.handle_request(u'load "unknown playlist"') self.assert_(u'ACK [50@0] {load} No such playlist' in result) - self.assertEqual(len(self.b.current_playlist.tracks), 0) + self.assertEqual(len(self.b.current_playlist.tracks.get()), 0) def test_playlistadd(self): result = self.h.handle_request(