From 5c9ef2c44dce5afc99a0b3b539ebaafe9b8ce3c5 Mon Sep 17 00:00:00 2001 From: Sebastien Estienne Date: Sun, 25 Apr 2010 17:39:19 +0800 Subject: [PATCH] the template_filter now expects the parentheses --- flask.py | 10 +++------- tests/flask_tests.py | 11 +---------- 2 files changed, 4 insertions(+), 17 deletions(-) diff --git a/flask.py b/flask.py index 6d557b26..216f9af8 100644 --- a/flask.py +++ b/flask.py @@ -640,24 +640,20 @@ class Flask(object): return f return decorator - def template_filter(self, arg=None): + def template_filter(self, name=None): """A decorator that is used to register custom template filter. You can specify a name for the filter, otherwise the function name will be used. Example:: - @app.template_filter + @app.template_filter() def reverse(s): return s[::-1] :param name: the optional name of the filter, otherwise the function name will be used. """ - if type(arg) is types.FunctionType: - self.jinja_env.filters[arg.__name__] = arg - return arg - def decorator(f): - self.jinja_env.filters[arg or f.__name__] = f + self.jinja_env.filters[name or f.__name__] = f return f return decorator diff --git a/tests/flask_tests.py b/tests/flask_tests.py index 91edb9c2..6f5a4d38 100644 --- a/tests/flask_tests.py +++ b/tests/flask_tests.py @@ -311,16 +311,7 @@ class TemplatingTestCase(unittest.TestCase): macro = flask.get_template_attribute('_macro.html', 'hello') assert macro('World') == 'Hello World!' - def test_template_filter_not_called(self): - app = flask.Flask(__name__) - @app.template_filter - def my_reverse(s): - return s[::-1] - assert 'my_reverse' in app.jinja_env.filters.keys() - assert app.jinja_env.filters['my_reverse'] == my_reverse - assert app.jinja_env.filters['my_reverse']('abcd') == 'dcba' - - def test_template_filter_called(self): + def test_template_filter(self): app = flask.Flask(__name__) @app.template_filter() def my_reverse(s):