Provide jinja2 urlencode filter
authorSebastian Spaeth <Sebastian@SSpaeth.de>
Mon, 26 Nov 2012 20:24:35 +0000 (21:24 +0100)
committerSebastian Spaeth <Sebastian@SSpaeth.de>
Mon, 3 Dec 2012 13:11:22 +0000 (14:11 +0100)
Astonishingly, the great jinja2 does not provide a builtin urlquote filter,
although it is obviously needed. (jina1 had one) This is:
https://github.com/mitsuhiko/jinja2/issues/17

Provide an urlencode filter, based on werkzeug's url_quote_plus function.
This is dead easy to implement and gives us all the freedom we want.

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
mediagoblin/tools/template.py

index 6f603bab6ecf9ffbd66724bb7d439b0d6d878693..cb556e4c2a9490b9f19abeef70da219c0cda87e3 100644 (file)
@@ -17,6 +17,8 @@
 from math import ceil
 import jinja2
 from babel.localedata import exists
+from werkzeug.urls import url_quote_plus
+
 from mediagoblin import mg_globals
 from mediagoblin import messages
 from mediagoblin.tools import common
@@ -62,6 +64,8 @@ def get_jinja_env(template_loader, locale):
     template_env.globals['app_config'] = mg_globals.app_config
     template_env.globals['global_config'] = mg_globals.global_config
 
+    template_env.filters['urlencode'] = url_quote_plus
+
     if exists(locale):
         SETUP_JINJA_ENVS[locale] = template_env