Fix typo causing book specific link map to contain entries for all items

This commit is contained in:
Kovid Goyal 2023-03-31 14:01:17 +05:30
parent 00832ca25b
commit 899ffb4e61
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -2387,12 +2387,15 @@ class Cache:
links = {} links = {}
def add_links_for_field(f): def add_links_for_field(f):
table = self.fields[f].table table = self.fields[f].table
lm = table.link_map field_ids = self._field_ids_for(f, book_id)
vm = table.id_map if field_ids:
d = {vm.get(fid):v for fid, v in lm.items() if v} lm = table.link_map
d.pop(None, None) id_link_map = {fid:lm.get(fid) for fid in field_ids}
if d: vm = table.id_map
links[f] = d d = {vm.get(fid):v for fid, v in id_link_map.items() if v}
d.pop(None, None)
if d:
links[f] = d
for field in ('authors', 'publisher', 'series', 'tags'): for field in ('authors', 'publisher', 'series', 'tags'):
add_links_for_field(field) add_links_for_field(field)
for field in self.field_metadata.custom_field_keys(include_composites=False): for field in self.field_metadata.custom_field_keys(include_composites=False):