mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Fix error check in field_list_count(). Also speeds it up a bit.
This commit is contained in:
parent
12cccddba6
commit
8e22f1c7ce
@ -1349,11 +1349,9 @@ class _Interpreter:
|
||||
|
||||
def do_node_field_list_count(self, prog):
|
||||
name = field_metadata.search_term_to_field_key(self.expr(prog.expression))
|
||||
if not self.parent_book.has_key(name):
|
||||
self.error(_("'{0}' is not a field").format(name), prog.line_number)
|
||||
res = getattr(self.parent_book, name, None)
|
||||
if not isinstance(res, (list, tuple, set, dict)):
|
||||
self.error(_("Field '{0}' is not a list").format(name), prog.line_number)
|
||||
if res is None or not isinstance(res, (list, tuple, set, dict)):
|
||||
self.error(_("Field '{0}' is either not a field or not a list").format(name), prog.line_number)
|
||||
ans = str(len(res))
|
||||
if self.break_reporter:
|
||||
self.break_reporter(prog.node_name, ans, prog.line_number)
|
||||
|
Loading…
x
Reference in New Issue
Block a user