From a661a17f1f027ab2cbf9b006e85a2a366d4e4c37 Mon Sep 17 00:00:00 2001 From: Charles Haley <> Date: Mon, 17 Jan 2011 11:27:10 +0000 Subject: [PATCH] Change formatter to show an error if an unknown function is used. --- src/calibre/utils/formatter.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/calibre/utils/formatter.py b/src/calibre/utils/formatter.py index 49b807ff1c..740e67bee8 100644 --- a/src/calibre/utils/formatter.py +++ b/src/calibre/utils/formatter.py @@ -274,9 +274,9 @@ class TemplateFormatter(string.Formatter): colon += 1 funcs = formatter_functions.get_functions() - if fmt[colon:p] in funcs: - field = fmt[colon:p] - func = funcs[field] + fname = fmt[colon:p] + if fname in funcs: + func = funcs[fname] if func.arg_count == 2: # only one arg expected. Don't bother to scan. Avoids need # for escaping characters @@ -292,6 +292,8 @@ class TemplateFormatter(string.Formatter): else: val = func.eval_(self, self.kwargs, self.book, self.locals, val, *args).strip() + else: + return _('%s: unknown function')%fname if val: val = self._do_format(val, dispfmt) if not val: