Files

48 lines
1.2 KiB
Python
Raw Permalink Normal View History

2025-12-30 17:37:14 +03:00
from pathlib import Path
from typing import Optional
from pydantic_settings import BaseSettings
class Settings(BaseSettings):
# Database
database_url: str = "postgresql+asyncpg://animequiz:animequiz123@localhost:5432/animequiz"
# S3 Storage settings
s3_endpoint: str = "https://s3.firstvds.ru"
s3_access_key: str = ""
s3_secret_key: str = ""
s3_region: str = "default"
s3_bucket: str = "anime-quiz"
# Local paths
output_path: Path = Path("/app/output/videos")
temp_path: Path = Path("/tmp/anime_quiz")
cache_path: Path = Path("/tmp/anime_quiz/cache")
# Video settings
shorts_width: int = 1080
shorts_height: int = 1920
full_width: int = 1920
full_height: int = 1080
# Timing settings (seconds)
answer_duration: float = 5.0
final_screen_duration: float = 3.0
audio_buffer: float = 1.0
# Audio
audio_fade_duration: float = 0.7
class Config:
env_file = ".env"
env_file_encoding = "utf-8"
extra = "ignore"
settings = Settings()
# Ensure directories exist
settings.temp_path.mkdir(parents=True, exist_ok=True)
settings.output_path.mkdir(parents=True, exist_ok=True)
settings.cache_path.mkdir(parents=True, exist_ok=True)