changeset 1026:d85de09f40c7

bake: Fix bug with postponed pages due to them using other sources.
author Ludovic Chabant <ludovic@chabant.com>
date Mon, 25 Dec 2017 19:01:27 -0800
parents c8366fc15043
children bcb7bd54d347
files piecrust/pipelines/page.py
diffstat 1 files changed, 3 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/piecrust/pipelines/page.py	Mon Dec 25 19:01:01 2017 -0800
+++ b/piecrust/pipelines/page.py	Mon Dec 25 19:01:27 2017 -0800
@@ -185,8 +185,8 @@
         else:
             # Update the entry with the new information.
             existing = ctx.record_entry
-            merge_job_result_into_record_entry(existing, result)
-
+            if not result.get('postponed', False):
+                merge_job_result_into_record_entry(existing, result)
             if existing.was_any_sub_baked:
                 ctx.record.user_data['dirty_source_names'].add(self.source.name)
 
@@ -246,6 +246,7 @@
     def _renderOrPostpone(self, job, ctx, result):
         # See if we should immediately kick this job off to the next step.
         if job.get('uses_sources', False):
+            result['postponed'] = True
             result['next_step_job'] = create_job(self, job['job_spec'][1])
             return