app v1
This commit is contained in:
47
backend/app/config.py
Normal file
47
backend/app/config.py
Normal file
@@ -0,0 +1,47 @@
|
||||
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)
|
||||
Reference in New Issue
Block a user