From 715f52d2fde04fe7bdc2d5231d970dc22c0c8c84 Mon Sep 17 00:00:00 2001 From: Blake Ridgway Date: Tue, 11 Feb 2025 21:43:35 -0600 Subject: [PATCH] (feat): Fixed database URL, added remove_email function --- database.py | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/database.py b/database.py index 8271efc..b7f1494 100644 --- a/database.py +++ b/database.py @@ -4,7 +4,7 @@ from dotenv import load_dotenv load_dotenv() -DATABASE_URL = os.getenv("DATABASE_URL") +DATABASE_URL = os.getenv("DATABASE_FILE") def init_db(): conn = sqlite3.connect(DATABASE_URL) @@ -20,11 +20,26 @@ def init_db(): def add_email(email): try: - conn = sqlite3.connect(DATABASE_URL) - cursor = conn.cursor() - cursor.execute("INSERT INTO subscribers (email) VALUES (?)", (email,)) - conn.commit() - conn.close() + with sqlite3.connect(DATABASE_URL, timeout=10) as conn: + cursor = conn.cursor() + cursor.execute("INSERT INTO subscribers (email) VALUES (?)", (email,)) + conn.commit() return True except sqlite3.IntegrityError: + return False + except sqlite3.OperationalError as e: + print(f"Operational Error: {e}") + return False + +def remove_email(email): + try: + with sqlite3.connect(DATABASE_URL, timeout=10) as conn: + cursor = conn.cursor() + cursor.execute("DELETE FROM subscribers WHERE email = ?", (email,)) + conn.commit() + if cursor.rowcount > 0: + return True + return False + except Exception as e: + print(f"Error removing email: {e}") return False \ No newline at end of file