Skip to content

Commit 8e22f1c

Browse files
cbhaleykovidgoyal
authored andcommitted
Fix error check in field_list_count(). Also speeds it up a bit.
1 parent 12cccdd commit 8e22f1c

1 file changed

Lines changed: 2 additions & 4 deletions

File tree

src/calibre/utils/formatter.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1349,11 +1349,9 @@ def do_node_strcat(self, prog):
13491349

13501350
def do_node_field_list_count(self, prog):
13511351
name = field_metadata.search_term_to_field_key(self.expr(prog.expression))
1352-
if not self.parent_book.has_key(name):
1353-
self.error(_("'{0}' is not a field").format(name), prog.line_number)
13541352
res = getattr(self.parent_book, name, None)
1355-
if not isinstance(res, (list, tuple, set, dict)):
1356-
self.error(_("Field '{0}' is not a list").format(name), prog.line_number)
1353+
if res is None or not isinstance(res, (list, tuple, set, dict)):
1354+
self.error(_("Field '{0}' is either not a field or not a list").format(name), prog.line_number)
13571355
ans = str(len(res))
13581356
if self.break_reporter:
13591357
self.break_reporter(prog.node_name, ans, prog.line_number)

0 commit comments

Comments
 (0)