This commit is contained in:
42
admidio/settings.py
Normal file
42
admidio/settings.py
Normal file
@ -0,0 +1,42 @@
|
||||
"""Get settings."""
|
||||
|
||||
import os
|
||||
from dotenv import load_dotenv, find_dotenv
|
||||
|
||||
from .model import AdmidioDBSettings
|
||||
load_dotenv(find_dotenv())
|
||||
|
||||
|
||||
def get_envvar(name: str) -> str:
|
||||
"""Get environemnt variable."""
|
||||
file_var = f"{name}_FILE"
|
||||
if file_name := os.getenv(file_var):
|
||||
with open(file_name, "r") as f:
|
||||
return f.read().strip()
|
||||
if value := os.getenv(name):
|
||||
return value
|
||||
raise RuntimeError(f"Unable to read environment variable {name}")
|
||||
|
||||
def get_db_settings() -> AdmidioDBSettings:
|
||||
"""Get database settings."""
|
||||
hostname = get_envvar("ADMIDIO_DB_HOST")
|
||||
user = get_envvar("ADMIDIO_DB_USER")
|
||||
password = get_envvar("ADMIDIO_DB_PASSWORD")
|
||||
database = get_envvar("ADMIDIO_DB_NAME")
|
||||
if ":" in hostname:
|
||||
host, port = hostname.split(":")
|
||||
else:
|
||||
host = hostname
|
||||
port = 3306
|
||||
return AdmidioDBSettings(user, password, host, database, int(port))
|
||||
|
||||
def get_stripe_key() -> str:
|
||||
"""Get the stripe key."""
|
||||
return get_envvar("STRIPE_KEY")
|
||||
|
||||
def get_stripe_price() -> str:
|
||||
return get_envvar("STRIPE_PRICE_ID")
|
||||
|
||||
def get_domain() -> str:
|
||||
"""Get domain."""
|
||||
return get_envvar("DKNOG_APP_HOST")
|
||||
Reference in New Issue
Block a user