From 9bd41ed5d77a8b21feb3a68d908ec278a814d1c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Thu, 25 Jan 2018 09:59:36 +0100 Subject: [PATCH] Added urljoin Jinja2 filter Use as {{ config['THESERVER'] | urljoin('path/on/server') }}. It uses the urllib.parse.urljoin() function to do this. --- pillar/web/jinja.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pillar/web/jinja.py b/pillar/web/jinja.py index 76d6a219..57ddc446 100644 --- a/pillar/web/jinja.py +++ b/pillar/web/jinja.py @@ -3,6 +3,7 @@ import functools import logging import typing +import urllib.parse import flask import flask_login @@ -157,6 +158,7 @@ def setup_jinja_env(jinja_env, app_config: dict): jinja_env.filters['markdown'] = do_markdown jinja_env.filters['yesno'] = do_yesno jinja_env.filters['repr'] = repr + jinja_env.filters['urljoin'] = functools.partial(urllib.parse.urljoin, allow_fragments=True) jinja_env.globals['url_for_node'] = do_url_for_node jinja_env.globals['abs_url'] = functools.partial(flask.url_for, _external=True,