view piecrust/formatting/textileformatter.py @ 1188:a7c43131d871

bake: Fix file write flushing problem with Python 3.8+ Writing the cache files fails in Python 3.8 because it looks like flushing behaviour has changed. We need to explicitly flush. And even then, in very rare occurrences, it looks like it can still run into racing conditions, so we do a very hacky and ugly "retry" loop when fetching cached data :(
author Ludovic Chabant <ludovic@chabant.com>
date Tue, 15 Jun 2021 22:36:23 -0700
parents f4f5685019a2
children
line wrap: on
line source

from piecrust.formatting.base import Formatter


class TextileFormatter(Formatter):
    FORMAT_NAMES = ['textile', 'text']
    OUTPUT_FORMAT = 'html'

    def render(self, format_name, text):
        from textile import textile
        assert format_name in self.FORMAT_NAMES
        return textile(text)