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