Mercurial > piecrust2
diff piecrust/processing/sass.py @ 414:c4b3a7fd2f87
bake: Make pipeline processing multi-process.
Not many changes here, as it's pretty straightforward, but an API change for
processors so they know if they're being initialized/disposed from the main
process or from one of the workers. This makes it possible to do global stuff
that has side-effects (e.g. create a directory) vs. doing in-memory stuff.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sat, 20 Jun 2015 19:20:30 -0700 |
parents | c2ca72fb7f0b |
children | aa686b8fbfd0 |
line wrap: on
line diff
--- a/piecrust/processing/sass.py Sat Jun 20 19:16:38 2015 -0700 +++ b/piecrust/processing/sass.py Sat Jun 20 19:20:30 2015 -0700 @@ -26,12 +26,14 @@ def onPipelineStart(self, pipeline): super(SassProcessor, self).onPipelineStart(pipeline) - self._map_dir = os.path.join(pipeline.tmp_dir, 'sass') - if not os.path.isdir(self._map_dir): - os.makedirs(self._map_dir) + + if pipeline.is_first_worker: + self._map_dir = os.path.join(pipeline.tmp_dir, 'sass') + if not os.path.isdir(self._map_dir): + os.makedirs(self._map_dir) # Ignore include-only Sass files. - pipeline.addSkipPatterns(['_*.scss', '_*.sass']) + pipeline.addIgnorePatterns(['_*.scss', '_*.sass']) def getDependencies(self, path): if _is_include_only(path):