Skip to content

Commit

Permalink
Merge pull request #70 from takluyver/misc-templateexporter-api
Browse files Browse the repository at this point in the history
Misc TemplateExporter enhancements
  • Loading branch information
minrk committed Jul 23, 2015
2 parents d19b4d1 + f0644f3 commit 4ea1864
Showing 1 changed file with 15 additions and 5 deletions.
20 changes: 15 additions & 5 deletions nbconvert/exporters/templateexporter.py
Original file line number Diff line number Diff line change
Expand Up @@ -177,8 +177,6 @@ def _load_template(self):
template = self.environment.get_template(try_name)
except (TemplateNotFound, IOError):
pass
except Exception as e:
self.log.warn("Unexpected exception loading template: %s", try_name, exc_info=True)
else:
self.log.debug("Loaded template %s", try_name)
return template
Expand Down Expand Up @@ -266,6 +264,18 @@ def register_filter(self, name, jinja_filter):
"""
return self._register_filter(self.environment, name, jinja_filter)

def default_filters(self):
"""Override in subclasses to provide extra filters.
This should return an iterable of 2-tuples: (name, class-or-function).
You should call the method on the parent class and include the filters
it provides.
If a name is repeated, the last filter provided wins. Filters from
user-supplied config win over filters provided by classes.
"""
return default_filters.items()

def _create_environment(self):
"""
Create the Jinja templating environment.
Expand All @@ -283,11 +293,11 @@ def _create_environment(self):
extensions=JINJA_EXTENSIONS
)

#Add default filters to the Jinja2 environment
for key, value in default_filters.items():
# Add default filters to the Jinja2 environment
for key, value in self.default_filters():
self._register_filter(environment, key, value)

#Load user filters. Overwrite existing filters if need be.
# Load user filters. Overwrite existing filters if need be.
if self.filters:
for key, user_filter in self.filters.items():
self._register_filter(environment, key, user_filter)
Expand Down

0 comments on commit 4ea1864

Please sign in to comment.