From: Muhammad Rizki <[email protected]>
To: Ammar Faizi <[email protected]>
Cc: Muhammad Rizki <[email protected]>,
Alviro Iskandar Setiawan <[email protected]>,
GNU/Weeb Mailing List <[email protected]>
Subject: [PATCH v1 12/13] feat(discord): Implement the DaemonException for handle error
Date: Tue, 3 Jan 2023 13:36:40 +0700 [thread overview]
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
This custom error class is used to catch errors and save information
such as the email thread URL, atom URL, and exception message. The
purpose of saving this information is to report the error with the
thread URL for easily debugging.
Signed-off-by: Muhammad Rizki <[email protected]>
---
daemon/dscord/mailer/listener.py | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/daemon/dscord/mailer/listener.py b/daemon/dscord/mailer/listener.py
index 2bde0f0..e55a4fc 100644
--- a/daemon/dscord/mailer/listener.py
+++ b/daemon/dscord/mailer/listener.py
@@ -15,6 +15,7 @@ from dscord.gnuweeb import GWClient
from atom.scraper import Scraper
from atom import utils
from enums import Platform
+from exceptions import DaemonException
class Mutexes:
@@ -77,8 +78,9 @@ class Listener:
await self.__handle_atom_url(url)
except (OperationalError, DatabaseError) as e:
await self.handle_db_error(e)
- except:
- await self.client.report_err(url)
+ except DaemonException as e:
+ e.set_atom_url(url)
+ await self.client.report_err(e.thread_url)
if not self.isRunnerFixed:
self.isRunnerFixed = True
@@ -98,8 +100,10 @@ class Listener:
mail = await self.scraper.get_email_from_url(url)
await self.__handle_mail(url, mail)
except:
- # this statement will be changed in the next commit
- await self.client.report_err(url)
+ e = DaemonException()
+ e.set_thread_url(url)
+ e.set_message(utils.catch_err())
+ raise e
async def __handle_mail(self, url, mail):
--
Muhammad Rizki
next prev parent reply other threads:[~2023-01-03 6:37 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-03 6:36 [PATCH v1 00/13] Improvements, refactors, and features Muhammad Rizki
2023-01-03 6:36 ` [PATCH v1 01/13] refactor(discord): Remove unnecessary try/except block Muhammad Rizki
2023-01-03 6:36 ` [PATCH v1 02/13] refactor(telegram): Move report_err() to the DaemonClient() class Muhammad Rizki
2023-01-03 6:36 ` [PATCH v1 03/13] refactor(telegram)!: Ensure the Telegram bot has been started Muhammad Rizki
2023-01-03 6:54 ` Ammar Faizi
2023-01-03 12:17 ` Muhammad Rizki
2023-01-03 22:11 ` Ammar Faizi
2023-01-03 22:27 ` Alviro Iskandar Setiawan
2023-01-03 22:28 ` Ammar Faizi
2023-01-04 6:31 ` Muhammad Rizki
2023-01-04 6:39 ` Alviro Iskandar Setiawan
2023-01-04 6:50 ` Muhammad Rizki
2023-01-04 6:50 ` Ammar Faizi
2023-01-04 7:02 ` Alviro Iskandar Setiawan
2023-01-04 7:05 ` Ammar Faizi
2023-01-03 6:36 ` [PATCH v1 04/13] feat: add DaemonException() class Muhammad Rizki
2023-01-03 6:36 ` [PATCH v1 05/13] feat(telegram): Implement the " Muhammad Rizki
2023-01-03 7:09 ` Ammar Faizi
2023-01-03 6:36 ` [PATCH v1 06/13] refactor(telegram/mailer)!: Remove unnecessary try/except block Muhammad Rizki
2023-01-03 6:36 ` [PATCH v1 07/13] feat(discord): add report_err() for the Discord bot Muhammad Rizki
2023-01-03 6:36 ` [PATCH v1 08/13] feat(discord): Implement the report_err() Muhammad Rizki
2023-01-03 7:14 ` Ammar Faizi
2023-01-03 7:17 ` Ammar Faizi
2023-01-03 12:20 ` Muhammad Rizki
2023-01-03 22:20 ` Ammar Faizi
2023-01-04 8:21 ` Muhammad Rizki
2023-01-04 8:30 ` Ammar Faizi
2023-01-04 8:37 ` Ammar Faizi
2023-01-04 8:51 ` Ammar Faizi
2023-01-07 6:10 ` Muhammad Rizki
2023-01-07 6:18 ` Ammar Faizi
2023-01-07 6:22 ` Alviro Iskandar Setiawan
2023-01-07 6:26 ` Ammar Faizi
2023-01-07 7:02 ` Muhammad Rizki
2023-01-07 7:03 ` Ammar Faizi
2023-01-03 6:36 ` [PATCH v1 09/13] feat(discord/database): Add ping() method Muhammad Rizki
2023-01-03 6:36 ` [PATCH v1 10/13] feat(discord): Add handle_db_error in the listener.py Muhammad Rizki
2023-01-03 6:36 ` [PATCH v1 11/13] feat(discord): Handle MySQL connection error in the mail listener Muhammad Rizki
2023-01-03 7:19 ` Ammar Faizi
2023-01-03 6:36 ` Muhammad Rizki [this message]
2023-01-03 6:36 ` [PATCH v1 13/13] refactor(telegram)!: Rename the Telegram bot custom client Muhammad Rizki
2023-01-03 7:25 ` [PATCH v1 00/13] Improvements, refactors, and features Ammar Faizi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox