Mercurial > piecrust2
annotate 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 |
rev | line source |
---|---|
124 | 1 from piecrust.formatting.base import Formatter |
2 | |
3 | |
4 class TextileFormatter(Formatter): | |
5 FORMAT_NAMES = ['textile', 'text'] | |
6 OUTPUT_FORMAT = 'html' | |
7 | |
8 def render(self, format_name, text): | |
423
f4f5685019a2
render: Lazily import Textile package.
Ludovic Chabant <ludovic@chabant.com>
parents:
124
diff
changeset
|
9 from textile import textile |
124 | 10 assert format_name in self.FORMAT_NAMES |
11 return textile(text) | |
12 |