Mercurial > piecrust2
diff piecrust/templating/jinjaengine.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 | 3e69f18912f5 |
children | 8adc27285d93 |
line wrap: on
line diff
--- a/piecrust/templating/jinjaengine.py Fri Sep 29 19:59:19 2017 -0700 +++ b/piecrust/templating/jinjaengine.py Sun Oct 01 20:36:04 2017 -0700 @@ -17,17 +17,17 @@ self._jinja_syntax_error = None self._jinja_not_found = None - def renderSegmentPart(self, path, seg_part, data): - if not _string_needs_render(seg_part.content): - return seg_part.content + def renderSegment(self, path, segment, data): + if not _string_needs_render(segment.content): + return segment.content self._ensureLoaded() - part_path = _make_segment_part_path(path, seg_part.offset) - self.env.loader.segment_parts_cache[part_path] = ( - path, seg_part.content) + seg_path = _make_segment_path(path, segment.offset) + self.env.loader.segments_cache[seg_path] = ( + path, segment.content) try: - tpl = self.env.get_template(part_path) + tpl = self.env.get_template(seg_path) except self._jinja_syntax_error as tse: raise self._getTemplatingError(tse, filename=path) except self._jinja_not_found: @@ -145,6 +145,6 @@ return False -def _make_segment_part_path(path, start): - return '$part=%s:%d' % (path, start) +def _make_segment_path(path, start): + return '$seg=%s:%d' % (path, start)