summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRosyid Haryadi <rosyid_haryadi@protonmail.com>2024-07-27 22:10:32 +0700
committerRosyid Haryadi <rosyid_haryadi@protonmail.com>2024-07-27 22:10:32 +0700
commita4c3b23d61b85290347cbbcbaf351a10c56880f6 (patch)
tree562a72638ccef532e5f26f0bbc99e566c2c1479d
parentedd20f260c012938661a7e16d85d94d39d161781 (diff)
upd more logging
-rw-r--r--bot.py44
-rw-r--r--main.py1
-rw-r--r--util.py23
3 files changed, 43 insertions, 25 deletions
diff --git a/bot.py b/bot.py
index 8428df4..b17a3bd 100644
--- a/bot.py
+++ b/bot.py
@@ -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__':
diff --git a/main.py b/main.py
index 99d7fa7..89b9e6b 100644
--- a/main.py
+++ b/main.py
@@ -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:
diff --git a/util.py b/util.py
index 0590c49..58a852b 100644
--- a/util.py
+++ b/util.py
@@ -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