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)