From d6eff505972a9e945b7b6421385b5c94613a8075 Mon Sep 17 00:00:00 2001 From: Nick Steel Date: Wed, 17 May 2017 17:53:17 +0100 Subject: [PATCH] core: Fix library.lookup with an empty uri list. Fixes #1619. --- mopidy/core/library.py | 5 +++-- tests/core/test_library.py | 3 +++ 2 files changed, 6 insertions(+), 2 deletions(-) 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'])