From c37a6effc9217e2ffceb631f48b371f87814c1f6 Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO Date: Fri, 8 May 2020 15:59:02 +0200 Subject: [PATCH] Why coding something custom when Django implements it natively? --- apps.py | 4 ---- signals.py | 38 -------------------------------------- 2 files changed, 42 deletions(-) delete mode 100644 signals.py diff --git a/apps.py b/apps.py index 7ed477b..77cb9c5 100644 --- a/apps.py +++ b/apps.py @@ -7,7 +7,3 @@ from django.core.signals import got_request_exception class ScriptsConfig(AppConfig): name = 'scripts' - - def ready(self): - from . import signals - got_request_exception.connect(signals.send_mail_on_exception) diff --git a/signals.py b/signals.py deleted file mode 100644 index 124068d..0000000 --- a/signals.py +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright (C) 2018-2020 by BDE ENS Paris-Saclay -# SPDX-License-Identifier: GPL-3.0-or-later - -import os -import sys - -from django.conf import settings -from django.core.mail import send_mail -from django.template.loader import render_to_string -from django.views.debug import ExceptionReporter - - -def send_mail_on_exception(request, **kwargs): - """ - When an error occurs on the Note Kfet, a mail is automatically sent to the webmasters. - """ - - if settings.DEBUG: - # Don't need to send a mail in debug mode, errors are already displayed in console and in the response view. - return - - try: - exc_info = sys.exc_info() - exc_type = exc_info[0] - exc = exc_info[1] - tb = exc_info[2] - reporter = ExceptionReporter(request=request, exc_type=exc_type, exc_value=exc, tb=tb) - - note_sender = os.getenv("NOTE_MAIL", "notekfet@example.com") - webmaster = os.getenv("WEBMASTER_MAIL", "notekfet@example.com") - - message = render_to_string('scripts/mail-error500.txt', context={"error": reporter.get_traceback_text()}) - message_html = render_to_string('scripts/mail-error500.html', context={"error": reporter.get_traceback_html()}) - - send_mail("Erreur dans la Note Kfet", message, note_sender, [webmaster], html_message=message_html) - except BaseException as e: - sys.stderr.write("Une erreur est survenue lors de l'envoi d'un mail, pour signaler une erreur.") - raise e