import sqlite3 from sqlite3 import Error, Connection from util.config import DB_PATH from util.enums import AnimeListServices def setup_database() -> bool: """ First-time DB setup (creating tables etc.) :return: True if all went smoothly, else False """ conn = create_connection() if conn is None: return False try: c = conn.cursor() c.execute("""CREATE TABLE IF NOT EXISTS connections ( id integer PRIMARY KEY, uid text NOT NULL, animelist text NOT NULL, service text NOT NULL );""") except Error as e: print("Error while creating table 'connections':") print(e) return False conn.close() return True def add_user_connection(uid: str, listname: str, service: AnimeListServices) -> bool: conn = create_connection() if conn is None: return False try: c = conn.cursor() c.execute(f"""INSERT INTO connections(uid,animelist,service) VALUES('{uid}','{listname}','{service.value}')""") except Error as e: print("Error while adding a new connection:") print(e) return False def create_connection() -> Connection | None: """ Creates a connection to an SQLite database :return: Connection if connected successfully, else None """ conn = None try: conn = sqlite3.connect(DB_PATH) print(f"Connected, SQLite vetsion {sqlite3.version}") return conn except Error as e: print("Error while connecting to DB:") print(e) return conn