48 lines
1015 B
Python
48 lines
1015 B
Python
import logging
|
|
from dotenv import load_dotenv
|
|
from pathlib import Path
|
|
import logging
|
|
import os
|
|
|
|
# prepare optional local setup
|
|
env_path = Path(__file__).parent.parent / "local.env"
|
|
load_dotenv(env_path)
|
|
|
|
# ensure env vars set
|
|
necesasary_var_list = {
|
|
"MONGO_HOST",
|
|
"MONGO_DB",
|
|
"MONGO_COLLECTION",
|
|
"MONGO_USER",
|
|
"MONGO_PASSWORD",
|
|
}
|
|
for env_var in necesasary_var_list:
|
|
# ensure env var set
|
|
assert (
|
|
env_var in os.environ
|
|
), (
|
|
f"environment variable not set: {env_var}"
|
|
)
|
|
|
|
# setup logging stream handler
|
|
fmt = (
|
|
'%(asctime)s | '
|
|
'%(levelname)s | '
|
|
'%(filename)s | '
|
|
'%(funcName)s | '
|
|
'%(message)s'
|
|
)
|
|
datefmt = '%Y-%m-%d %H:%M:%S'
|
|
logging.basicConfig(format=fmt, datefmt=datefmt, level=logging.INFO)
|
|
|
|
logging.info("initialized app")
|
|
|
|
from src.web import app
|
|
server = app.server
|
|
|
|
if __name__ == "__main__":
|
|
# prepare local env vars
|
|
os.environ["MONGO_HOST"] = "localhost"
|
|
# run app
|
|
app.run(debug=True)
|
|
logging.info("started app") |