# HG changeset patch # User Ludovic Chabant # Date 1433025712 25200 # Node ID d1a472464e57722d90e7c4fcac617c09ed570d53 # Parent 2bb5327c4c1f0cab671702aa5da40962c476f8cc markdown: Cache the formatter once. diff -r 2bb5327c4c1f -r d1a472464e57 piecrust/formatting/markdownformatter.py --- a/piecrust/formatting/markdownformatter.py Mon May 25 18:38:05 2015 -0700 +++ b/piecrust/formatting/markdownformatter.py Sat May 30 15:41:52 2015 -0700 @@ -1,4 +1,4 @@ -from markdown import markdown +from markdown import Markdown from piecrust.formatting.base import Formatter @@ -8,15 +8,15 @@ def __init__(self): super(MarkdownFormatter, self).__init__() - self._extensions = None + self._formatter = None def render(self, format_name, txt): assert format_name in self.FORMAT_NAMES self._ensureInitialized() - return markdown(txt, extensions=self._extensions) + return self._formatter.convert(txt) def _ensureInitialized(self): - if self._extensions is not None: + if self._formatter is not None: return config = self.app.config.get('markdown') @@ -34,5 +34,6 @@ # Compatibility with PieCrust 1.x if config.get('use_markdown_extra'): extensions.append('extra') - self._extensions = extensions + self._formatter = Markdown(extensions=extensions) +