comparison piecrust/commands/builtin/baking.py @ 127:bc63dc20baa0

Fix how we pass the out directory to the baking modules.
author Ludovic Chabant <ludovic@chabant.com>
date Fri, 14 Nov 2014 22:47:18 +0100
parents 300eb1c2cb14
children 4c0ab0b044fe
comparison
equal deleted inserted replaced
126:e5cba2622d26 127:bc63dc20baa0
38 if ctx.args.portable: 38 if ctx.args.portable:
39 # Disable pretty URLs because there's likely not going to be 39 # Disable pretty URLs because there's likely not going to be
40 # a web server to handle serving default documents. 40 # a web server to handle serving default documents.
41 ctx.app.config.set('site/pretty_urls', False) 41 ctx.app.config.set('site/pretty_urls', False)
42 42
43 out_dir = (ctx.args.output or
44 os.path.join(ctx.app.root_dir, '_counter'))
45
43 start_time = time.clock() 46 start_time = time.clock()
44 try: 47 try:
45 # Bake the site sources. 48 # Bake the site sources.
46 self._bakeSources(ctx) 49 self._bakeSources(ctx, out_dir)
47 50
48 # Bake the assets. 51 # Bake the assets.
49 if not ctx.args.no_assets: 52 if not ctx.args.no_assets:
50 self._bakeAssets(ctx) 53 self._bakeAssets(ctx, out_dir)
51 54
52 # All done. 55 # All done.
53 logger.info('-------------------------'); 56 logger.info('-------------------------');
54 logger.info(format_timed(start_time, 'done baking')); 57 logger.info(format_timed(start_time, 'done baking'));
55 return 0 58 return 0
58 logger.exception(ex) 61 logger.exception(ex)
59 else: 62 else:
60 logger.error(str(ex)) 63 logger.error(str(ex))
61 return 1 64 return 1
62 65
63 def _bakeSources(self, ctx): 66 def _bakeSources(self, ctx, out_dir):
64 num_workers = ctx.app.config.get('baker/workers') or 4 67 num_workers = ctx.app.config.get('baker/workers') or 4
65 baker = Baker( 68 baker = Baker(
66 ctx.app, 69 ctx.app, out_dir,
67 out_dir=ctx.args.output,
68 force=ctx.args.force, 70 force=ctx.args.force,
69 portable=ctx.args.portable, 71 portable=ctx.args.portable,
70 no_assets=ctx.args.no_assets, 72 no_assets=ctx.args.no_assets,
71 num_workers=num_workers) 73 num_workers=num_workers)
72 baker.bake() 74 baker.bake()
73 75
74 def _bakeAssets(self, ctx): 76 def _bakeAssets(self, ctx, out_dir):
75 mounts = ctx.app.assets_dirs 77 mounts = ctx.app.assets_dirs
76 baker_params = ctx.app.config.get('baker') or {} 78 baker_params = ctx.app.config.get('baker') or {}
77 skip_patterns = baker_params.get('skip_patterns') 79 skip_patterns = baker_params.get('skip_patterns')
78 force_patterns = baker_params.get('force_patterns') 80 force_patterns = baker_params.get('force_patterns')
79 num_workers = ctx.app.config.get('baker/workers') or 4 81 num_workers = ctx.app.config.get('baker/workers') or 4
80 proc = ProcessorPipeline( 82 proc = ProcessorPipeline(
81 ctx.app, mounts, ctx.args.output, 83 ctx.app, mounts, out_dir,
82 force=ctx.args.force, 84 force=ctx.args.force,
83 skip_patterns=skip_patterns, 85 skip_patterns=skip_patterns,
84 force_patterns=force_patterns, 86 force_patterns=force_patterns,
85 num_workers=num_workers) 87 num_workers=num_workers)
86 proc.run() 88 proc.run()