Mercurial > piecrust2
diff piecrust/pipelines/_procrecords.py @ 852:4850f8c21b6e
core: Start of the big refactor for PieCrust 3.0.
* Everything is a `ContentSource`, including assets directories.
* Most content sources are subclasses of the base file-system source.
* A source is processed by a "pipeline", and there are 2 built-in pipelines,
one for assets and one for pages. The asset pipeline is vaguely functional,
but the page pipeline is completely broken right now.
* Rewrite the baking process as just running appropriate pipelines on each
content item. This should allow for better parallelization.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Wed, 17 May 2017 00:11:48 -0700 |
parents | |
children | f070a4fc033c |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/piecrust/pipelines/_procrecords.py Wed May 17 00:11:48 2017 -0700 @@ -0,0 +1,35 @@ +from piecrust.pipelines.records import RecordEntry + + +class AssetPipelineRecordEntry(RecordEntry): + FLAG_NONE = 0 + FLAG_PREPARED = 2**0 + FLAG_PROCESSED = 2**1 + FLAG_BYPASSED_STRUCTURED_PROCESSING = 2**3 + FLAG_COLLAPSED_FROM_LAST_RUN = 2**4 + + def __init__(self): + super().__init__() + self.out_paths = [] + self.flags = self.FLAG_NONE + self.proc_tree = None + + @property + def was_prepared(self): + return bool(self.flags & self.FLAG_PREPARED) + + @property + def was_processed(self): + return (self.was_prepared and + (bool(self.flags & self.FLAG_PROCESSED) or + len(self.errors) > 0)) + + @property + def was_processed_successfully(self): + return self.was_processed and not self.errors + + @property + def was_collapsed_from_last_run(self): + return self.flags & self.FLAG_COLLAPSED_FROM_LAST_RUN + +