[Backport] Fix and error when try to catch exceptions when fail the import process

remotes/origin/issue/4795/notification_even_they_are_disabled
David Barragán Merino 2016-04-14 18:51:31 +02:00
parent 8773a5072c
commit 50ac02fe34
1 changed files with 22 additions and 17 deletions

View File

@ -49,6 +49,7 @@ def dump_project(self, user, project):
render_project(project, outfile) render_project(project, outfile)
except Exception: except Exception:
# Error
ctx = { ctx = {
"user": user, "user": user,
"error_subject": _("Error generating project dump"), "error_subject": _("Error generating project dump"),
@ -58,17 +59,17 @@ def dump_project(self, user, project):
email = mail_builder.export_error(user, ctx) email = mail_builder.export_error(user, ctx)
email.send() email.send()
logger.error('Error generating dump %s (by %s)', project.slug, user, exc_info=sys.exc_info()) logger.error('Error generating dump %s (by %s)', project.slug, user, exc_info=sys.exc_info())
return else:
# Success
deletion_date = timezone.now() + datetime.timedelta(seconds=settings.EXPORTS_TTL) deletion_date = timezone.now() + datetime.timedelta(seconds=settings.EXPORTS_TTL)
ctx = { ctx = {
"url": url, "url": url,
"project": project, "project": project,
"user": user, "user": user,
"deletion_date": deletion_date "deletion_date": deletion_date
} }
email = mail_builder.dump_project(user, ctx) email = mail_builder.dump_project(user, ctx)
email.send() email.send()
@app.task @app.task
@ -81,6 +82,7 @@ def load_project_dump(user, dump):
try: try:
project = dict_to_project(dump, user) project = dict_to_project(dump, user)
except Exception: except Exception:
# Error
ctx = { ctx = {
"user": user, "user": user,
"error_subject": _("Error loading project dump"), "error_subject": _("Error loading project dump"),
@ -88,9 +90,12 @@ def load_project_dump(user, dump):
} }
email = mail_builder.import_error(user, ctx) email = mail_builder.import_error(user, ctx)
email.send() email.send()
logger.error('Error loading dump %s (by %s)', project.slug, user, exc_info=sys.exc_info()) logger.error('Error loading dump %s (by %s)',
return dump.get("slug", "-unknow-") if dump else "-unknow-",
user,
ctx = {"user": user, "project": project} exc_info=sys.exc_info())
email = mail_builder.load_dump(user, ctx) else:
email.send() # Success
ctx = {"user": user, "project": project}
email = mail_builder.load_dump(user, ctx)
email.send()