diff options
author | Rosyid Haryadi <rosyid_haryadi@protonmail.com> | 2024-07-27 22:10:32 +0700 |
---|---|---|
committer | Rosyid Haryadi <rosyid_haryadi@protonmail.com> | 2024-07-27 22:10:32 +0700 |
commit | a4c3b23d61b85290347cbbcbaf351a10c56880f6 (patch) | |
tree | 562a72638ccef532e5f26f0bbc99e566c2c1479d | |
parent | edd20f260c012938661a7e16d85d94d39d161781 (diff) |
upd more logging
-rw-r--r-- | bot.py | 44 | ||||
-rw-r--r-- | main.py | 1 | ||||
-rw-r--r-- | util.py | 23 |
3 files changed, 43 insertions, 25 deletions
@@ -1,4 +1,5 @@ import os +import sqlite3 from urllib import parse import requests from dotenv import load_dotenv @@ -44,13 +45,16 @@ class Bot: conn.close() def _checkUnreadDb(self): - if not self.hasNewMessages: - conn = getDbConn() - cur = conn.cursor() - res = cur.execute(f"SELECT id, is_read FROM incoming WHERE is_read = 0") - if len(res.fetchall()) > 0: - self.hasNewMessages = True - conn.close() + try: + if not self.hasNewMessages: + conn = getDbConn() + cur = conn.cursor() + res = cur.execute(f"SELECT id, is_read FROM incoming WHERE is_read = 0") + if len(res.fetchall()) > 0: + self.hasNewMessages = True + conn.close() + except sqlite3.Error as e: + logger.error(e) def pollUpdate(self): self.isProcessingPolling = True @@ -65,18 +69,22 @@ class Bot: def getNewMessages(self): result = list() - if not self.hasNewMessages: + try: + if not self.hasNewMessages: + return result + conn = getDbConn() + cur = conn.cursor() + resCheck = cur.execute(f"SELECT text FROM incoming WHERE is_read = False") + for row in resCheck.fetchall(): + result.append(row[0]) + cur.execute(f"UPDATE incoming SET is_read = True WHERE is_read = False") + conn.commit() + conn.close() + self.hasNewMessages = False + except sqlite3.Error as e: + logger.error(e) + finally: return result - conn = getDbConn() - cur = conn.cursor() - resCheck = cur.execute(f"SELECT text FROM incoming WHERE is_read = False") - for row in resCheck.fetchall(): - result.append(row[0]) - cur.execute(f"UPDATE incoming SET is_read = True WHERE is_read = False") - conn.commit() - conn.close() - self.hasNewMessages = False - return result if __name__ == '__main__': @@ -47,6 +47,7 @@ def main(): if __name__ == '__main__': try: if not os.path.isfile(dbFile): + logger.info("DB FILE NOT FOUND. CREATING...") initDb() while True: if not bot.isProcessingPolling and bot.hasNewMessages: @@ -21,13 +21,22 @@ def setupLogger(): def initDb(): - conn = sqlite3.connect(dbFile) - cur = conn.cursor() - cur.execute("CREATE TABLE incoming (id, msg_date, msg_from, text, is_read)") - conn.commit() - conn.close() + try: + conn = sqlite3.connect(dbFile) + cur = conn.cursor() + cur.execute("CREATE TABLE incoming (id, msg_date, msg_from, text, is_read)") + conn.commit() + conn.close() + except sqlite3.Error as e: + logging.error("Failed to initialize database") + logging.error(e) def getDbConn(): - conn = sqlite3.connect(dbFile) - return conn + try: + conn = sqlite3.connect(dbFile) + return conn + except sqlite3.Error as e: + logging.error("Failed making connection to database") + logging.error(e) + return None |