mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-07 18:24:30 -04:00
newdb: Fix displaying the languages column
Displaying the languages column for a book with no languages was causing an error.
This commit is contained in:
parent
00a6f4593c
commit
1d9a3dcb5f
@ -336,7 +336,7 @@ class Cache(object):
|
||||
except KeyError:
|
||||
return default_value
|
||||
if field.is_multiple:
|
||||
default_value = {} if name == 'identifiers' else ()
|
||||
default_value = field.default_value
|
||||
try:
|
||||
return field.for_book(book_id, default_value=default_value)
|
||||
except (KeyError, IndexError):
|
||||
@ -347,6 +347,8 @@ class Cache(object):
|
||||
' Same as field_for, except that it avoids the extra lookup to get the field object '
|
||||
if field_obj.is_composite:
|
||||
return field_obj.get_value_with_cache(book_id, self._get_proxy_metadata)
|
||||
if field_obj.is_multiple:
|
||||
default_value = field_obj.default_value
|
||||
try:
|
||||
return field_obj.for_book(book_id, default_value=default_value)
|
||||
except (KeyError, IndexError):
|
||||
|
@ -48,6 +48,7 @@ class Field(object):
|
||||
self._sort_key = lambda x:sort_key(calibre_langcode_to_name(x))
|
||||
self.is_multiple = (bool(self.metadata['is_multiple']) or self.name ==
|
||||
'formats')
|
||||
self.default_value = {} if name == 'identifiers' else () if self.is_multiple else None
|
||||
self.category_formatter = type(u'')
|
||||
if dt == 'rating':
|
||||
self.category_formatter = lambda x:'\u2605'*int(x/2)
|
||||
|
Loading…
x
Reference in New Issue
Block a user