From e1d5bebd587d3ca7c9ce125f5f0045c016b6a0b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Barrag=C3=A1n=20Merino?= Date: Thu, 14 Apr 2016 18:51:31 +0200 Subject: [PATCH] Fix and error when try to catch exceptions when fail the import process --- taiga/export_import/tasks.py | 39 ++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/taiga/export_import/tasks.py b/taiga/export_import/tasks.py index 8044f35c..b5a4d8fe 100644 --- a/taiga/export_import/tasks.py +++ b/taiga/export_import/tasks.py @@ -49,6 +49,7 @@ def dump_project(self, user, project): render_project(project, outfile) except Exception: + # Error ctx = { "user": user, "error_subject": _("Error generating project dump"), @@ -58,17 +59,17 @@ def dump_project(self, user, project): email = mail_builder.export_error(user, ctx) email.send() logger.error('Error generating dump %s (by %s)', project.slug, user, exc_info=sys.exc_info()) - return - - deletion_date = timezone.now() + datetime.timedelta(seconds=settings.EXPORTS_TTL) - ctx = { - "url": url, - "project": project, - "user": user, - "deletion_date": deletion_date - } - email = mail_builder.dump_project(user, ctx) - email.send() + else: + # Success + deletion_date = timezone.now() + datetime.timedelta(seconds=settings.EXPORTS_TTL) + ctx = { + "url": url, + "project": project, + "user": user, + "deletion_date": deletion_date + } + email = mail_builder.dump_project(user, ctx) + email.send() @app.task @@ -81,6 +82,7 @@ def load_project_dump(user, dump): try: project = dict_to_project(dump, user) except Exception: + # Error ctx = { "user": user, "error_subject": _("Error loading project dump"), @@ -88,9 +90,12 @@ def load_project_dump(user, dump): } email = mail_builder.import_error(user, ctx) email.send() - logger.error('Error loading dump %s (by %s)', project.slug, user, exc_info=sys.exc_info()) - return - - ctx = {"user": user, "project": project} - email = mail_builder.load_dump(user, ctx) - email.send() + logger.error('Error loading dump %s (by %s)', + dump.get("slug", "-unknow-") if dump else "-unknow-", + user, + exc_info=sys.exc_info()) + else: + # Success + ctx = {"user": user, "project": project} + email = mail_builder.load_dump(user, ctx) + email.send()