diff options
author | Botond Hende <nettingman@gmail.com> | 2024-08-25 16:30:51 +0200 |
---|---|---|
committer | Botond Hende <nettingman@gmail.com> | 2024-08-25 16:30:51 +0200 |
commit | b3c35c2ca00106fe475d82baa580ee26ee64e1ba (patch) | |
tree | a75b346a884b08628c16e2b3263fc5a45faa7ad8 /__main__.py | |
parent | b0cab01ab962e4a0f704012eac28786597726be1 (diff) |
create/connect to database on startup
Diffstat (limited to '__main__.py')
-rw-r--r-- | __main__.py | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/__main__.py b/__main__.py index deacefa..7ae3047 100644 --- a/__main__.py +++ b/__main__.py @@ -1,9 +1,28 @@ +import os.path +import sqlite3 +from pathlib import Path + +from contextlib import asynccontextmanager from typing import Annotated from fastapi import FastAPI, Depends, Request from fastapi.security import OAuth2PasswordBearer, OAuth2PasswordRequestForm -app = FastAPI() +from .config import Config + + +sq_con = None + +@asynccontextmanager +async def lifespan(app: FastAPI): + db_dir = os.path.dirname(Config.DATABASE_PATH) + Path(db_dir).mkdir(parents=True, exist_ok=True) + + sq_con = sqlite3.connect(Config.DATABASE_PATH) + yield + + +app = FastAPI(lifespan=lifespan) oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token") |