From 9a69b02f50164c93ee71fdd667a205a740c8ab3d Mon Sep 17 00:00:00 2001 From: Charles Haley <> Date: Thu, 11 Aug 2011 13:11:31 +0100 Subject: [PATCH] Fix regression in defining formatter functions --- src/calibre/gui2/preferences/template_functions.py | 4 ++-- src/calibre/utils/formatter_functions.py | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/calibre/gui2/preferences/template_functions.py b/src/calibre/gui2/preferences/template_functions.py index e2c880bcc9..b23cc43bd6 100644 --- a/src/calibre/gui2/preferences/template_functions.py +++ b/src/calibre/gui2/preferences/template_functions.py @@ -83,7 +83,7 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form): self.builtin_source_dict = {} self.funcs = formatter_functions.get_functions() - self.builtins = formatter_functions.get_builtins() + self.builtins = formatter_functions.get_builtins_and_aliases() self.build_function_names_box() self.function_name.currentIndexChanged[str].connect(self.function_index_changed) @@ -151,7 +151,7 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form): name = unicode(self.function_name.currentText()) if name in self.funcs: error_dialog(self.gui, _('Template functions'), - _('Name already used'), show=True) + _('Name %s already used')%(name,), show=True) return if self.argument_count.value() == 0: box = warning_dialog(self.gui, _('Template functions'), diff --git a/src/calibre/utils/formatter_functions.py b/src/calibre/utils/formatter_functions.py index 3d6775c242..c1af65f9e3 100644 --- a/src/calibre/utils/formatter_functions.py +++ b/src/calibre/utils/formatter_functions.py @@ -46,6 +46,14 @@ class FormatterFunctions(object): def get_builtins(self): return self._builtins + def get_builtins_and_aliases(self): + res = {} + for f in self._builtins.itervalues(): + res[f.name] = f + for a in f.aliases: + res[a] = f + return res + def get_functions(self): return self._functions