diff --git a/mopidy/core/library.py b/mopidy/core/library.py index 04fe0a7e..61bb7306 100644 --- a/mopidy/core/library.py +++ b/mopidy/core/library.py @@ -228,8 +228,9 @@ class LibraryController(object): # TODO: lookup(uris) to backend APIs for backend, backend_uris in self._get_backends_to_uris(uris).items(): - for u in backend_uris: - futures[(backend, u)] = backend.library.lookup(u) + if backend_uris: + for u in backend_uris: + futures[(backend, u)] = backend.library.lookup(u) for (backend, u), future in futures.items(): with _backend_error_handling(backend): diff --git a/tests/core/test_library.py b/tests/core/test_library.py index 750f371f..d2afb87e 100644 --- a/tests/core/test_library.py +++ b/tests/core/test_library.py @@ -148,6 +148,9 @@ class CoreLibraryTest(BaseCoreLibraryTest): Ref.track(uri='dummy1:track:/foo/baz.mp3', name='Baz'), ]) + def test_lookup_returns_empty_dict_for_no_uris(self): + self.assertEqual({}, self.core.library.lookup(uris=[])) + def test_lookup_fails_with_uri_and_uris_set(self): with self.assertRaises(ValueError): self.core.library.lookup('dummy1:a', ['dummy2:a'])