Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
import sqlite3 | |
from pathlib import Path | |
class Database: | |
DB_PATH = Path("data/") | |
DB_FILE = DB_PATH / "models.db" | |
def __init__(self): | |
if not self.DB_FILE.exists(): | |
print("Creating database") | |
print("DB_FILE", self.DB_FILE) | |
db = sqlite3.connect(self.DB_FILE) | |
with open(Path("schema.sql"), "r") as f: | |
db.executescript(f.read()) | |
db.commit() | |
db.close() | |
def get_db(self): | |
db = sqlite3.connect(self.DB_FILE, check_same_thread=False) | |
db.row_factory = sqlite3.Row | |
return db | |
def __enter__(self): | |
self.db = self.get_db() | |
return self.db | |
def __exit__(self, exc_type, exc_value, traceback): | |
self.db.close() | |