""" Say — голосовой ассистент с Whisper + LLM. Точка входа. Создаёт Flask-приложение, регистрирует Blueprints, настраивает логирование и запускает сервер. """ import logging import sys from flask import Flask from config import FLASK_HOST, FLASK_PORT, LOG_LEVEL from routes import pages_bp, api_bp def create_app() -> Flask: """ Фабрика Flask-приложения. Собирает приложение из Blueprint'ов: - pages_bp — HTML-страницы (/, /health) - api_bp — REST API (/api/*) """ app = Flask(__name__) # --- Blueprints --- app.register_blueprint(pages_bp) app.register_blueprint(api_bp) # --- Логирование --- logging.basicConfig( level=getattr(logging, LOG_LEVEL.upper(), logging.INFO), format="%(asctime)s [%(levelname)s] %(name)s: %(message)s", stream=sys.stdout, ) return app # ============================================================================= # Запуск # ============================================================================= if __name__ == "__main__": application = create_app() logging.info("Say server starting on %s:%s", FLASK_HOST, FLASK_PORT) application.run( host=FLASK_HOST, port=FLASK_PORT, debug=False, ) else: # WSGI-сервер (gunicorn) импортирует `application` application = create_app()