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 | |
parent | b0cab01ab962e4a0f704012eac28786597726be1 (diff) |
create/connect to database on startup
-rw-r--r-- | .gitignore | 4 | ||||
-rw-r--r-- | __main__.py | 21 | ||||
-rw-r--r-- | config.py | 6 | ||||
-rw-r--r-- | requirements.txt | 1 |
4 files changed, 28 insertions, 4 deletions
@@ -1,6 +1,8 @@ .idea/ -sta.token +database/ + spacetraders-sdk/ modules/spacetraders + __pycache__/ venv/ 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") @@ -1,3 +1,5 @@ +import os.path + + class Config: - AGENT_SYMBOL = 'WAZUL' - TOKEN_FILE_NAME = 'sta.token' + DATABASE_PATH = os.path.join(os.path.dirname(__file__), "database/database.db") diff --git a/requirements.txt b/requirements.txt index 13712cc..7833938 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1,2 @@ fastapi[standard] +passlib[bcrypt] |