changeset 996:92a98c84a925

cm: Fix crashes when page assets deployment fails. This can happen for instance if page assets are read-only files.
author Ludovic Chabant <ludovic@chabant.com>
date Fri, 12 May 2017 09:26:37 -0700
parents 601f4a236ee5
children 7b4874b03fb1
files piecrust/baking/single.py piecrust/baking/worker.py
diffstat 2 files changed, 6 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/piecrust/baking/single.py	Fri May 12 09:26:06 2017 -0700
+++ b/piecrust/baking/single.py	Fri May 12 09:26:37 2017 -0700
@@ -167,8 +167,11 @@
 
                 logger.debug("Copying page assets to: %s" % out_assets_dir)
                 _ensure_dir_exists(out_assets_dir)
-
-                qualified_page.source.buildAssetor(qualified_page, sub_uri).copyAssets(out_assets_dir)
+                try:
+                    qualified_page.source.buildAssetor(qualified_page, sub_uri).copyAssets(out_assets_dir)
+                except Exception as ex:
+                    raise BakingError("%s: error deploying page assets." %
+                                      page_rel_path) from ex
 
             # Figure out if we have more work.
             has_more_subs = False
--- a/piecrust/baking/worker.py	Fri May 12 09:26:06 2017 -0700
+++ b/piecrust/baking/worker.py	Fri May 12 09:26:37 2017 -0700
@@ -234,6 +234,7 @@
         except Exception as ex:
             logger.debug("Got baking error. Sending it to master.")
             result['errors'] = _get_errors(ex)
+            result['sub_entries'] = []
             if self.ctx.app.debug:
                 logger.exception(ex)