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

jinaj2 replay: use ChoiceLoader to properly load either local file

system or package templates
This commit is contained in:
Ilya Kreymer 2014-10-16 20:33:17 -07:00
parent aecc847ec1
commit 614938479b

View File

@ -7,7 +7,8 @@ import logging
from os import path
from itertools import imap
from jinja2 import Environment, FileSystemLoader, PackageLoader
from jinja2 import Environment
from jinja2 import FileSystemLoader, PackageLoader, ChoiceLoader
FILTERS = {}
@ -77,11 +78,10 @@ class J2TemplateView(object):
self.jinja_env = self.make_jinja_env(template_dir)
def make_jinja_env(self, template_dir):
if template_dir.startswith('.') or template_dir.startswith('file://'):
loader = FileSystemLoader(template_dir)
else:
loader = PackageLoader(self.env_globals['package'], template_dir)
filesys_loader = FileSystemLoader(template_dir)
pkg_loader = PackageLoader(self.env_globals['package'], template_dir)
loader = ChoiceLoader([filesys_loader, pkg_loader])
jinja_env = Environment(loader=loader, trim_blocks=True)
jinja_env.filters.update(FILTERS)
jinja_env.globals.update(self.env_globals)