|
import os |
|
|
|
from comet.utils.logger import logger |
|
from comet.utils.models import database, settings |
|
|
|
|
|
async def setup_database(): |
|
try: |
|
if settings.DATABASE_TYPE == "sqlite": |
|
os.makedirs(os.path.dirname(settings.DATABASE_PATH), exist_ok=True) |
|
|
|
if not os.path.exists(settings.DATABASE_PATH): |
|
open(settings.DATABASE_PATH, "a").close() |
|
|
|
await database.connect() |
|
await database.execute( |
|
"CREATE TABLE IF NOT EXISTS cache (cacheKey TEXT PRIMARY KEY, timestamp INTEGER, results TEXT)" |
|
) |
|
await database.execute( |
|
"CREATE TABLE IF NOT EXISTS download_links (debrid_key TEXT, hash TEXT, file_index TEXT, link TEXT, timestamp INTEGER, PRIMARY KEY (debrid_key, hash, file_index))" |
|
) |
|
await database.execute("DROP TABLE IF EXISTS active_connections") |
|
await database.execute( |
|
"CREATE TABLE IF NOT EXISTS active_connections (id TEXT PRIMARY KEY, ip TEXT, content TEXT, timestamp INTEGER)" |
|
) |
|
except Exception as e: |
|
logger.error(f"Error setting up the database: {e}") |
|
|
|
|
|
async def teardown_database(): |
|
try: |
|
await database.disconnect() |
|
except Exception as e: |
|
logger.error(f"Error tearing down the database: {e}") |
|
|