diff piecrust/pipelines/_pagerecords.py @ 991:1857dbd4580f

bake: Fix bugs introduced by bake optimizations, of course. - Make the execution stats JSON-serializable. - Re-add ability to differentiate between sources used during segment rendering and during layout rendering. Fixes problems with cache invalidation of pages that use other sources. - Make taxonomy-related stuff JSON-serializable.
author Ludovic Chabant <ludovic@chabant.com>
date Mon, 20 Nov 2017 23:06:47 -0800
parents 8adc27285d93
children 298b07a899b5
line wrap: on
line diff
--- a/piecrust/pipelines/_pagerecords.py	Sun Nov 19 14:29:52 2017 -0800
+++ b/piecrust/pipelines/_pagerecords.py	Mon Nov 20 23:06:47 2017 -0800
@@ -89,12 +89,15 @@
             yield from o['errors']
 
     def getAllUsedSourceNames(self):
-        res = set()
+        res_segments = set()
+        res_layout = set()
         for o in self.subs:
             pinfo = o.get('render_info')
             if pinfo:
-                res |= pinfo['used_source_names']
-        return res
+                usn = pinfo['used_source_names']
+                res_segments |= set(usn['segments'])
+                res_layout |= set(usn['layout'])
+        return res_segments, res_layout
 
     def getAllOutputPaths(self):
         for o in self.subs: