Spaces:
Running
Running
# 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 | |
def db_url(self) -> str: | |
# If no DB_USER is provided, use SQLite for local testing | |
if not self.DB_USER or not self.DB_PASSWORD: | |
return f"sqlite:///{self.DB_NAME}" | |
else: | |
return f"mysql+pymysql://{self.DB_USER}:{self.DB_PASSWORD}@{self.DB_HOST}:{self.DB_PORT}/{self.DB_NAME}" | |
conf = Config() | |