46 lines
1.7 KiB
Python
46 lines
1.7 KiB
Python
import os
|
|
from pathlib import Path
|
|
|
|
# Базовые пути
|
|
BASE_DIR = Path(__file__).resolve().parent.parent
|
|
UPLOAD_FOLDER = BASE_DIR / "uploads"
|
|
UPLOAD_FOLDER.mkdir(exist_ok=True)
|
|
|
|
# Audio files path (shared with Calls_WEB_Client_main)
|
|
AUDIOFILES_PATH = os.getenv("AUDIOFILES_PATH", "/app/audiofiles")
|
|
|
|
# Database
|
|
DATABASE_URL = os.getenv("DATABASE_URL", "sqlite:///./speech_analytics.db")
|
|
|
|
# API Settings
|
|
API_V1_PREFIX = "/api/v1"
|
|
MAX_UPLOAD_SIZE = 100 * 1024 * 1024 # 100MB
|
|
ALLOWED_AUDIO_EXTENSIONS = {".mp3", ".wav", ".ogg", ".flac", ".m4a", ".aac"}
|
|
|
|
# Application
|
|
APP_TITLE = "Speech Analytics API"
|
|
APP_VERSION = "1.0.0"
|
|
|
|
PORT = int(os.getenv("PORT", "5008"))
|
|
HOST = os.getenv("HOST", "localhost")
|
|
|
|
# GigaAM API Configuration
|
|
GIGAAM_API_URL = os.getenv("GIGAAM_API_URL", "http://host.docker.internal:5002")
|
|
|
|
AUDIOFILES_PATH = os.path.join(os.getcwd(), os.getenv("FILESAPTH", "audiofiles"))
|
|
|
|
# Calls_WEB_Client_main Webhook Configuration
|
|
CALLS_WEB_CLIENT_URL = os.getenv(
|
|
"CALLS_WEB_CLIENT_URL",
|
|
"http://host.docker.internal:8642"
|
|
)
|
|
WEBHOOK_ENDPOINT = f"{CALLS_WEB_CLIENT_URL}/api/transcription/webhook"
|
|
WEBHOOK_API_KEY = os.getenv("WEBHOOK_API_KEY", "webhook_secret_key")
|
|
|
|
# Auto-restore recognition on startup
|
|
ENABLE_AUTO_RESTORE = os.getenv("ENABLE_AUTO_RESTORE", "true").lower() == "true"
|
|
AUTO_RESTORE_LIMIT = int(os.getenv("AUTO_RESTORE_LIMIT", "100")) # Максимум файлов для восстановления
|
|
AUTO_RESTORE_DELAY = int(os.getenv("AUTO_RESTORE_DELAY", "5")) # Задержка перед запуском (секунды)
|
|
|
|
# Recognition retry policy (FileAudioAPI side)
|
|
MAX_RECOGNITION_ATTEMPTS = int(os.getenv("MAX_RECOGNITION_ATTEMPTS", "3")) |