Mercurial > piecrust2
comparison piecrust/baking/worker.py @ 466:456db44dcc53
bake: Pass the config variants and values from the CLI to the baker.
TODO: add support for that for the processor pipeline.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sat, 11 Jul 2015 23:51:02 -0700 |
parents | cb3446be44b7 |
children | 5b57a189fd98 |
comparison
equal
deleted
inserted
replaced
465:b6e797463798 | 466:456db44dcc53 |
---|---|
1 import time | 1 import time |
2 import logging | 2 import logging |
3 from piecrust.app import PieCrust | 3 from piecrust.app import PieCrust, apply_variant_and_values |
4 from piecrust.baking.records import BakeRecord, _get_transition_key | 4 from piecrust.baking.records import BakeRecord, _get_transition_key |
5 from piecrust.baking.single import PageBaker, BakingError | 5 from piecrust.baking.single import PageBaker, BakingError |
6 from piecrust.environment import AbortedSourceUseError | 6 from piecrust.environment import AbortedSourceUseError |
7 from piecrust.rendering import ( | 7 from piecrust.rendering import ( |
8 QualifiedPage, PageRenderingContext, render_page_segments) | 8 QualifiedPage, PageRenderingContext, render_page_segments) |
15 | 15 |
16 | 16 |
17 class BakeWorkerContext(object): | 17 class BakeWorkerContext(object): |
18 def __init__(self, root_dir, sub_cache_dir, out_dir, | 18 def __init__(self, root_dir, sub_cache_dir, out_dir, |
19 previous_record_path=None, | 19 previous_record_path=None, |
20 config_variant=None, config_values=None, | |
20 force=False, debug=False): | 21 force=False, debug=False): |
21 self.root_dir = root_dir | 22 self.root_dir = root_dir |
22 self.sub_cache_dir = sub_cache_dir | 23 self.sub_cache_dir = sub_cache_dir |
23 self.out_dir = out_dir | 24 self.out_dir = out_dir |
24 self.previous_record_path = previous_record_path | 25 self.previous_record_path = previous_record_path |
26 self.config_variant = config_variant | |
27 self.config_values = config_values | |
25 self.force = force | 28 self.force = force |
26 self.debug = debug | 29 self.debug = debug |
27 self.app = None | 30 self.app = None |
28 self.previous_record = None | 31 self.previous_record = None |
29 self.previous_record_index = None | 32 self.previous_record_index = None |
40 app._useSubCacheDir(self.ctx.sub_cache_dir) | 43 app._useSubCacheDir(self.ctx.sub_cache_dir) |
41 app.env.fs_cache_only_for_main_page = True | 44 app.env.fs_cache_only_for_main_page = True |
42 app.env.registerTimer("BakeWorker_%d_Total" % self.wid) | 45 app.env.registerTimer("BakeWorker_%d_Total" % self.wid) |
43 app.env.registerTimer("BakeWorkerInit") | 46 app.env.registerTimer("BakeWorkerInit") |
44 app.env.registerTimer("JobReceive") | 47 app.env.registerTimer("JobReceive") |
48 apply_variant_and_values(app, self.ctx.config_variant, | |
49 self.ctx.config_values) | |
45 self.ctx.app = app | 50 self.ctx.app = app |
46 | 51 |
47 # Load previous record | 52 # Load previous record |
48 if self.ctx.previous_record_path: | 53 if self.ctx.previous_record_path: |
49 self.ctx.previous_record = BakeRecord.load( | 54 self.ctx.previous_record = BakeRecord.load( |