MediaProcessing/apps/py-watcher/config/database_config.py

30 lines
927 B
Python

import os
from dataclasses import dataclass
@dataclass
class DatabaseConfig:
address: str
port: int
name: str
username: str
password: str
@staticmethod
def from_env() -> "DatabaseConfig":
return DatabaseConfig(
address=os.environ.get("DATABASE_ADDRESS") or "192.168.2.250",
port=int(os.environ.get("DATABASE_PORT") or "3306"),
name=os.environ.get("DATABASE_NAME") or "EVENTS",
username=os.environ.get("DATABASE_USERNAME") or "root",
password=os.environ.get("DATABASE_PASSWORD") or "def",
)
def validate(self) -> None:
if not self.address:
raise ValueError("Database address mangler")
if not self.name:
raise ValueError("Database name mangler")
if not self.username:
raise ValueError("Database username mangler")
# du kan legge til flere regler her