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(