mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Make get_item_id() faster
This commit is contained in:
parent
2a9e0209ed
commit
8340c9994d
@ -926,11 +926,13 @@ class Cache:
|
||||
@read_api
|
||||
def get_item_id(self, field, item_name):
|
||||
' Return the item id for item_name (case-insensitive) or None if not found '
|
||||
q = icu_lower(item_name)
|
||||
try:
|
||||
rmap = {icu_lower(v) if isinstance(v, str) else v:k for k, v in iteritems(self.fields[field].table.id_map)}
|
||||
for item_id, item_val in self.fields[field].table.id_map.items():
|
||||
if icu_lower(item_val) == q:
|
||||
return item_id
|
||||
except KeyError:
|
||||
return None
|
||||
return rmap.get(icu_lower(item_name) if isinstance(item_name, str) else item_name, None)
|
||||
|
||||
@read_api
|
||||
def get_item_ids(self, field, item_names):
|
||||
|
Loading…
x
Reference in New Issue
Block a user