diff --git a/src/calibre/db/cache.py b/src/calibre/db/cache.py index 5990a5e2bc..a0890994c8 100644 --- a/src/calibre/db/cache.py +++ b/src/calibre/db/cache.py @@ -810,7 +810,10 @@ class Cache: @read_api def get_item_id(self, field, item_name): ' Return the item id for item_name (case-insensitive) ' - rmap = {icu_lower(v) if isinstance(v, str) else v:k for k, v in iteritems(self.fields[field].table.id_map)} + try: + rmap = {icu_lower(v) if isinstance(v, str) else v:k for k, v in iteritems(self.fields[field].table.id_map)} + except KeyError: + rmap = {} return rmap.get(icu_lower(item_name) if isinstance(item_name, str) else item_name, None) @read_api