Merge pull request #539 from adamcik/fix/bug-527-temp-workaround

local: Temporary workaround for issue #527
This commit is contained in:
Stein Magnus Jodal 2013-10-20 07:31:55 -07:00
commit 96008ca826
2 changed files with 19 additions and 8 deletions

View File

@ -6,7 +6,7 @@ import os
import shutil import shutil
from mopidy.backends import base, listener from mopidy.backends import base, listener
from mopidy.models import Playlist from mopidy.models import Playlist, Track
from mopidy.utils import formatting, path from mopidy.utils import formatting, path
from .translator import parse_m3u from .translator import parse_m3u
@ -51,12 +51,11 @@ class LocalPlaylistsProvider(base.BasePlaylistsProvider):
tracks = [] tracks = []
for track_uri in parse_m3u(m3u, self._media_dir): for track_uri in parse_m3u(m3u, self._media_dir):
try: result = self.backend.library.lookup(track_uri)
# TODO We must use core.library.lookup() to support tracks if result:
# from other backends
tracks += self.backend.library.lookup(track_uri) tracks += self.backend.library.lookup(track_uri)
except LookupError as ex: else:
logger.warning('Playlist item could not be added: %s', ex) tracks.append(Track(uri=track_uri))
playlist = Playlist(uri=uri, name=name, tracks=tracks) playlist = Playlist(uri=uri, name=name, tracks=tracks)
playlists.append(playlist) playlists.append(playlist)

View File

@ -201,6 +201,18 @@ class LocalPlaylistsProviderTest(unittest.TestCase):
self.assertNotIn(playlist1, self.core.playlists.playlists) self.assertNotIn(playlist1, self.core.playlists.playlists)
self.assertIn(playlist2, self.core.playlists.playlists) self.assertIn(playlist2, self.core.playlists.playlists)
@unittest.SkipTest
def test_playlist_with_unknown_track(self): def test_playlist_with_unknown_track(self):
pass track = Track(uri='file:///dev/null')
playlist = self.core.playlists.create('test')
playlist = playlist.copy(tracks=[track])
playlist = self.core.playlists.save(playlist)
backend = self.backend_class(config=self.config, audio=self.audio)
self.assert_(backend.playlists.playlists)
self.assertEqual(
'local:playlist:test', backend.playlists.playlists[0].uri)
self.assertEqual(
playlist.name, backend.playlists.playlists[0].name)
self.assertEqual(
track.uri, backend.playlists.playlists[0].tracks[0].uri)