Mercurial > piecrust2
view piecrust/formatting/smartypantsformatter.py @ 666:81d9c3a3a0b5
internal: Get rid of the whole "sub cache" business.
* Compute cache keys up front, so the cache directory is only chosen once.
* Buffer up config variants to apply before loading the config. Makes it
possible to cache variant-resulting configs, too.
* Make a factory class to reuse the logic that creates the `PieCrust` object
correctly for multi-process workers and such.
* Add a test.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Thu, 03 Mar 2016 08:22:41 -0800 |
parents | fdb08d986384 |
children | 370e74941d32 |
line wrap: on
line source
import smartypants from piecrust.formatting.base import Formatter, PRIORITY_LAST class SmartyPantsFormatter(Formatter): FORMAT_NAMES = ['html'] OUTPUT_FORMAT = 'html' def __init__(self): super(SmartyPantsFormatter, self).__init__() self.priority = PRIORITY_LAST def initialize(self, app): super(SmartyPantsFormatter, self).initialize(app) self.enabled = ( app.config.get('smartypants/enable') or app.config.get('smartypants/enabled')) def render(self, format_name, txt): assert format_name == 'html' return smartypants.smartypants(txt)