1
0
mirror of https://github.com/webrecorder/pywb.git synced 2025-03-15 00:03:28 +01:00

templateview update:

- make 'pywb.template_params', and 'pywb.template_dir' keys configurable in JinjaEnv
- don't pass 'iframe_url' to frame template, just pass 'is_proxy'
This commit is contained in:
Ilya Kreymer 2017-10-02 18:06:03 -07:00
parent 1bfba09c94
commit 16ede7abbb

View File

@ -32,12 +32,17 @@ class JinjaEnv(object):
assets_path=None,
globals=None,
overlay=None,
extensions=None):
extensions=None,
env_template_params_key='pywb.template_params',
env_template_dir_key='pywb.templates_dir'):
self._init_filters()
loader = ChoiceLoader(self._make_loaders(paths, packages))
self.env_template_params_key = env_template_params_key
self.env_template_dir_key = env_template_dir_key
extensions = extensions or []
if assets_path:
@ -116,7 +121,7 @@ class BaseInsertView(object):
def render_to_string(self, env, **kwargs):
template = None
template_path = env.get('pywb.templates_dir')
template_path = env.get(self.jenv.env_template_dir_key)
if template_path:
# jinja paths are not os paths, always use '/' as separator
@ -131,7 +136,7 @@ class BaseInsertView(object):
if not template:
template = self.jenv.jinja_env.get_template(self.insert_file)
params = env.get('pywb.template_params')
params = env.get(self.jenv.env_template_params_key)
if params:
kwargs.update(params)
kwargs['env'] = env
@ -190,12 +195,7 @@ class TopFrameView(BaseInsertView):
else:
timestamp = timestamp_now()
if 'wsgiprox.proxy_host' in env:
if not wb_url.url.startswith(env['wsgi.url_scheme'] + ':'):
wb_url.url = env['wsgi.url_scheme'] + ':' + wb_url.url.split(':', 1)[-1]
iframe_url = wb_url.url
else:
iframe_url = wb_prefix + embed_url
is_proxy = 'wsgiprox.proxy_host' in env
params = {'host_prefix': host_prefix,
'wb_prefix': wb_prefix,
@ -206,7 +206,7 @@ class TopFrameView(BaseInsertView):
'replay_mod': replay_mod},
'embed_url': embed_url,
'iframe_url': iframe_url,
'is_proxy': is_proxy,
'timestamp': timestamp,
'url': wb_url.get_url()
}