From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on gnuweeb.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=ALL_TRUSTED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NO_DNS_FOR_FROM,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.6 Received: from localhost.localdomain (unknown [101.128.125.149]) by gnuweeb.org (Postfix) with ESMTPSA id C1A7480F70; Sun, 25 Sep 2022 21:15:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gnuweeb.org; s=default; t=1664140522; bh=Mf+MISlZrMfDi5eJS/DyFpAG52Mi2mYUhwN55rqB3r0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=tmWmDfxN4Dyx/9ID7U2OnwRRl2O2DsVtyNCnGC5+LlNheLGQQK/wdtkjQJNRdmpEZ EH4OvMcT9dQzYjwcaOmCWBUjOaoE2VK8HSLmjl7JSPmM4jdRtZyKU1MCAi+eLKhr4Y Hi7Xhp5edPyUPRXJ2zQXpcUDMQ+ox3AYqYHObYBd+PsiLDIHuA/rij+0kWDUwJm1wE pYsCP9DIAHkeg5ZJPaheUgZGYPw9UyDYkRlO6KVwOLCzulTmlJg6y3GQ8Gd3Zjo0dD bNz41xFDr5dVDwCgIYVR/JuiU/s4ZdyWopIgQ0/kLlY21TGgyA+OVelSknu2/a6Oic HBI2Dih3RMkYw== From: Muhammad Rizki To: Ammar Faizi Cc: Muhammad Rizki , Alviro Iskandar Setiawan , GNU/Weeb Mailing List Subject: [RFC PATCH v5 17/18] discord: Add save_email() in database insertion Date: Mon, 26 Sep 2022 04:14:26 +0700 Message-Id: <20220925211427.412-18-kiizuha@gnuweeb.org> X-Mailer: git-send-email 2.34.1.windows.1 In-Reply-To: <20220925211427.412-1-kiizuha@gnuweeb.org> References: <20220925211427.412-1-kiizuha@gnuweeb.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: Add save_email() to save raw lore emails to the database. Explanation: The functionality is like save_discord_mail() but it's still different. Save lore emails if it does not exist in the database yet, if it does then ignore them. Signed-off-by: Muhammad Rizki --- .../database/methods/insertion/__init__.py | 4 +++- .../methods/insertion/insert_email.py | 20 +++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 daemon/dscord/database/methods/insertion/insert_email.py diff --git a/daemon/dscord/database/methods/insertion/__init__.py b/daemon/dscord/database/methods/insertion/__init__.py index dd3ecf4..5137b84 100644 --- a/daemon/dscord/database/methods/insertion/__init__.py +++ b/daemon/dscord/database/methods/insertion/__init__.py @@ -7,10 +7,12 @@ from .insert_atom import InsertAtom from .insert_broadcast import InsertBroadcast from .insert_discord import InsertDiscord +from .insert_email import InsertEmail class Insertion( InsertAtom, InsertBroadcast, - InsertDiscord + InsertDiscord, + InsertEmail ): pass diff --git a/daemon/dscord/database/methods/insertion/insert_email.py b/daemon/dscord/database/methods/insertion/insert_email.py new file mode 100644 index 0000000..0fab378 --- /dev/null +++ b/daemon/dscord/database/methods/insertion/insert_email.py @@ -0,0 +1,20 @@ +from mysql.connector import errors +from datetime import datetime + + +class InsertEmail: + + def save_email(self, email_msg_id): + try: + return self.__insert_email(email_msg_id) + except errors.IntegrityError: + # + # Duplicate data, skip! + # + return None + + + def __insert_email(self, email_msg_id): + q = "INSERT INTO dc_emails (message_id, created_at) VALUES (%s, %s)" + self.cur.execute(q, (email_msg_id, datetime.utcnow())) + return self.cur.lastrowid -- Muhammad Rizki