From 18f0c3c367a4dd53aff163f717bb62fb661e8600 Mon Sep 17 00:00:00 2001 From: René 'Necoro' Neumann Date: Sun, 14 Apr 2013 21:00:24 +0200 Subject: Backport @app.template_test; make the functions in expenses filters/tests --- app/flask_extend.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 app/flask_extend.py (limited to 'app/flask_extend.py') diff --git a/app/flask_extend.py b/app/flask_extend.py new file mode 100644 index 0000000..5096d17 --- /dev/null +++ b/app/flask_extend.py @@ -0,0 +1,32 @@ +from flask import Flask as _Flask +from flask import Blueprint as _Blueprint + +if not hasattr(_Flask, 'template_test'): +# model `template_test` -- introduced with flask-0.10 + class Flask(_Flask): + def template_test(self, name=None): + def decorator(f): + self.add_template_test(f, name=name) + return f + return decorator + + def add_template_test(self, f, name=None): + self.jinja_env.tests[name or f.__name__] = f + + class Blueprint(_Blueprint): + def app_template_test(self, name=None): + def decorator(f): + self.add_app_template_test(f, name=name) + return f + return decorator + + def add_app_template_test(self, f, name=None): + def register_template(state): + state.app.jinja_env.tests[name or f.__name__] = f + self.record_once(register_template) + +else: + Flask = _Flask + Blueprint = _Blueprint + +del _Flask, _Blueprint -- cgit v1.2.3-54-g00ecf