Mercurial > piecrust2
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() |