# config.py import os from pydantic_settings import BaseSettings class Config(BaseSettings): DB_USER: str = os.getenv("DB_USER", "") DB_PASSWORD: str = os.getenv("DB_PASSWORD", "") DB_HOST: str = os.getenv("DB_HOST", "localhost") DB_PORT: str = os.getenv("DB_PORT", "3306") DB_NAME: str = os.getenv("DB_NAME", "defaultdb") HF_TOKEN: str = os.environ.get("HF_TOKEN", "") HF_TTS_DS_REPO: str = os.environ.get("HF_TTS_DS_REPO", "") FTP_URL: str = os.environ.get("FTP_URL", "") APP_TITLE: str = "Gooya TTS Annotation Tools" # Sentry Configuration SENTRY_DSN: str = os.environ.get("SENTRY_DSN", "") SENTRY_ENVIRONMENT: str = os.environ.get("SENTRY_ENVIRONMENT", "development") SENTRY_TRACES_SAMPLE_RATE: float = float(os.environ.get("SENTRY_TRACES_SAMPLE_RATE", "0.1")) SENTRY_PROFILES_SAMPLE_RATE: float = float(os.environ.get("SENTRY_PROFILES_SAMPLE_RATE", "0.1")) # Phase 2 Review Mapping: Defines who reviews whose work. # Key: Original annotator's username, Value: Reviewer's username REVIEW_MAPPING: dict[str, str] = { "zahra": "amin", "amin": "zahra", "mohsen": "sepehr", "sepehr": "mohammad" } class Config: env_file = ".env" case_sensitive = True @property def db_url(self) -> str: return f"mysql+pymysql://{self.DB_USER}:{self.DB_PASSWORD}@{self.DB_HOST}:{self.DB_PORT}/{self.DB_NAME}" conf = Config()