File size: 1,547 Bytes
25ae7fe 87d3243 25ae7fe | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | import aiosqlite
import logging
import os
# Hugging Face Spaces have a read-only filesystem except for /tmp
is_hf = os.environ.get("SPACE_ID") is not None or os.environ.get("HF_SPACE") is not None
DB_NAME = "/tmp/netflix_clone.db" if is_hf else "netflix_clone.db"
async def init_db():
async with aiosqlite.connect(DB_NAME) as db:
# Movies Table
await db.execute("""
CREATE TABLE IF NOT EXISTS movies (
id TEXT PRIMARY KEY,
title TEXT,
poster TEXT,
year TEXT,
rating TEXT,
description TEXT,
category TEXT
)
""")
# Series Table
await db.execute("""
CREATE TABLE IF NOT EXISTS series (
id TEXT PRIMARY KEY,
title TEXT,
poster TEXT,
year TEXT,
rating TEXT,
description TEXT,
category TEXT
)
""")
# Episodes Table
await db.execute("""
CREATE TABLE IF NOT EXISTS episodes (
id INTEGER PRIMARY KEY AUTOINCREMENT,
series_id TEXT,
episode_number INTEGER,
title TEXT,
watch_link TEXT,
FOREIGN KEY(series_id) REFERENCES series(id)
)
""")
await db.commit()
async def get_db_connection():
db = await aiosqlite.connect(DB_NAME)
db.row_factory = aiosqlite.Row
return db
|