Mercurial > piecrust2
diff piecrust/rendering.py @ 924:1bb704434ee2
formatting: Remove segment parts, you can use template tags instead.
Segment parts were used to switch formatters insides a given content segment,
but that's also achievable with template tags like `pcformat` in Jinja to
some degree. It's not totally the same but removing it simplifies the code
and improves performance.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sun, 01 Oct 2017 20:36:04 -0700 |
parents | f2b75e4be981 |
children | 45ad976712ec |
line wrap: on
line diff
--- a/piecrust/rendering.py Fri Sep 29 19:59:19 2017 -0700 +++ b/piecrust/rendering.py Sun Oct 01 20:36:04 2017 -0700 @@ -301,20 +301,17 @@ formatted_segments = {} for seg_name, seg in page.segments.items(): - seg_text = '' - for seg_part in seg.parts: - part_format = seg_part.fmt or format_name - try: - with app.env.stats.timerScope( - engine.__class__.__name__ + '_segment'): - part_text = engine.renderSegmentPart( - page.content_spec, seg_part, page_data) - except TemplatingError as err: - err.lineno += seg_part.line - raise err + try: + with app.env.stats.timerScope( + engine.__class__.__name__ + '_segment'): + seg_text = engine.renderSegment( + page.content_spec, seg, page_data) + except TemplatingError as err: + err.lineno += seg.line + raise err - part_text = format_text(app, part_format, part_text) - seg_text += part_text + seg_format = seg.fmt or format_name + seg_text = format_text(app, seg_format, seg_text) formatted_segments[seg_name] = seg_text if seg_name == 'content':