Рабочий пайплайн: YouTube -> транскрипция -> выжимка -> Postgres
- новый api/: /pipeline/process (yt-dlp, субтитры или Vosk, LLM/экстрактивная суммаризация), /videos, /llm; старый код перенесён в api_legacy/ - web/: Flet UI (flet 0.28.3 + flet-web, порт 8550) - Dockerfile.api: ffmpeg слоем из mwader/static-ffmpeg, pip с кэш-маунтом - requirements/pyproject: убраны moviepy, imageio-ffmpeg, битый asyncio - README с инструкцией запуска и загрузкой Vosk-модели Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
28
api_legacy/config.py
Normal file
28
api_legacy/config.py
Normal file
@@ -0,0 +1,28 @@
|
||||
from pydantic_settings import BaseSettings
|
||||
import os
|
||||
|
||||
def _env(*names, default=None):
|
||||
for n in names:
|
||||
v = os.getenv(n)
|
||||
if v:
|
||||
return v
|
||||
return default
|
||||
|
||||
class Settings(BaseSettings):
|
||||
# support both custom DB_* names and common POSTGRES_* names from postgres images
|
||||
DB_USER: str = _env("DB_USER", "POSTGRES_USER", default="postgres")
|
||||
DB_PASS: str = _env("DB_PASS", "POSTGRES_PASSWORD", default="postgres")
|
||||
DB_NAME: str = _env("DB_NAME", "POSTGRES_DB", default="test_db")
|
||||
DB_HOST: str = _env("DB_HOST", "POSTGRES_HOST", "DB_HOST", default="db")
|
||||
DB_PORT: str = _env("DB_PORT", "POSTGRES_PORT", default="5432")
|
||||
|
||||
# If explicit DB_* variables are provided, build DATABASE_URL from them (priority).
|
||||
# Otherwise fall back to explicit DATABASE_URL or DATABASE_URL_ASYNC env.
|
||||
_built_db_url: str | None = None
|
||||
if DB_USER and DB_PASS and DB_NAME and DB_HOST and DB_PORT:
|
||||
_built_db_url = f"postgresql+asyncpg://{DB_USER}:{DB_PASS}@{DB_HOST}:{DB_PORT}/{DB_NAME}"
|
||||
|
||||
DATABASE_URL: str = _built_db_url or _env("DATABASE_URL", "DATABASE_URL_ASYNC", default="")
|
||||
|
||||
|
||||
settings = Settings()
|
||||
Reference in New Issue
Block a user