diff --git a/pywb/webapp/views.py b/pywb/webapp/views.py index 6560b8d0..3639e8e8 100644 --- a/pywb/webapp/views.py +++ b/pywb/webapp/views.py @@ -77,11 +77,7 @@ class J2TemplateView(object): self.jinja_env = self.make_jinja_env(template_dir) def make_jinja_env(self, template_dir): - loaders = [] - loaders.append(FileSystemLoader(template_dir)) - loaders.append(FileSystemLoader('.')) - loaders.append(PackageLoader(self.env_globals['package'], template_dir)) - + loaders = self._make_loaders(template_dir) loader = ChoiceLoader(loaders) jinja_env = Environment(loader=loader, trim_blocks=True) @@ -89,6 +85,12 @@ class J2TemplateView(object): jinja_env.globals.update(self.env_globals) return jinja_env + def _make_loaders(self, template_dir): + loaders = [] + loaders.append(FileSystemLoader(template_dir)) + loaders.append(PackageLoader(self.env_globals['package'], template_dir)) + return loaders + def render_to_string(self, **kwargs): template = self.jinja_env.get_template(self.template_file) @@ -139,6 +141,15 @@ class HeadInsertView(J2TemplateView): rule=rule)) return make_head_insert + def _make_loaders(self, template_dir): + loaders = [] + loaders.append(FileSystemLoader(template_dir)) + # add relative and absolute path loaders + loaders.append(FileSystemLoader('.')) + loaders.append(FileSystemLoader('/')) + loaders.append(PackageLoader(self.env_globals['package'], template_dir)) + return loaders + @staticmethod def init_from_config(config): view = config.get('head_insert_view')