diff piecrust/pipelines/page.py @ 939:abc52a6262a1

bake: Support the `draft` setting.
author Ludovic Chabant <ludovic@chabant.com>
date Wed, 04 Oct 2017 20:40:43 -0700
parents 812ca80863d4
children 45ad976712ec
line wrap: on
line diff
--- a/piecrust/pipelines/page.py	Wed Oct 04 09:15:16 2017 -0700
+++ b/piecrust/pipelines/page.py	Wed Oct 04 20:40:43 2017 -0700
@@ -16,6 +16,7 @@
         super().__init__(source, ppctx)
         self._pagebaker = None
         self._stats = source.app.env.stats
+        self._draft_setting = self.app.config['baker/no_bake_setting']
 
     def initialize(self):
         stats = self.app.env.stats
@@ -114,7 +115,11 @@
         record_entry = result.record_entry
         record_entry.config = page.config.getAll()
         record_entry.timestamp = page.datetime.timestamp()
-        result.next_step_job = self.createJob(content_item)
+
+        if not page.config.get(self._draft_setting):
+            result.next_step_job = self.createJob(content_item)
+        else:
+            record_entry.flags |= PagePipelineRecordEntry.FLAG_IS_DRAFT
 
     def _renderOrPostpone(self, content_item, ctx, result):
         # Here our job is to render the page's segments so that they're