From c6948e9abd89b845dd094c0e313960fa1b4ec626 Mon Sep 17 00:00:00 2001 From: Charles Haley Date: Fri, 23 Aug 2013 10:56:25 +0200 Subject: [PATCH] Fix the virtual_libraries lazy getter. --- src/calibre/db/cache.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/calibre/db/cache.py b/src/calibre/db/cache.py index 07b191d4f6..4da51e9b2e 100644 --- a/src/calibre/db/cache.py +++ b/src/calibre/db/cache.py @@ -1685,10 +1685,10 @@ class Cache(object): @read_api def virtual_libraries_for_books(self, book_ids): - libraries = tuple(self._pref('virtual_libraries', {}).iterkeys()) + libraries = self._pref('virtual_libraries', {}) ans = {book_id:[] for book_id in book_ids} - for lib in libraries: - books = self._search(lib) # We deliberately dont use book_ids as we want to use the search cache + for lib,expr in libraries.iteritems(): + books = self._search(expr) # We deliberately dont use book_ids as we want to use the search cache for book in book_ids: if book in books: ans[book].append(lib)