recommender-service-flask/src/util/config.py

27 lines
789 B
Python

from dotenv import dotenv_values
import os
from pathlib import Path
# load_dotenv("/home/user/recommender-service-flask/src/.env")
# config = dotenv_values("/home/user/recommender-service-flask/src/.env")
env_path = Path(__file__).resolve().parents[1]/ ".env"
config = dotenv_values(env_path)
def env(name, default=None, cast=None):
r = os.getenv(name)
if r is None:
r = config.get(name, default)
if cast is not None:
if cast == bool and isinstance(r, str):
if r.lower() in ["true", "yes", "on", "1"]:
r = True
elif r.lower() in ["false", "no", "off", "0"]:
r = False
else:
raise ValueError(f"Invalid boolean value: {r}")
else:
r = cast(r)
return r