fix: app.py — один файл, без импортов, как у BG
This commit is contained in:
+10
-47
@@ -1,55 +1,18 @@
|
||||
"""
|
||||
Say — голосовой ассистент с Whisper + LLM.
|
||||
from flask import Flask, jsonify, render_template
|
||||
|
||||
Точка входа. Создаёт 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
|
||||
@app.route("/")
|
||||
def index():
|
||||
return render_template("index.html")
|
||||
|
||||
|
||||
# =============================================================================
|
||||
# Запуск
|
||||
# =============================================================================
|
||||
@app.route("/health")
|
||||
def health():
|
||||
return jsonify({"status": "ok"})
|
||||
|
||||
|
||||
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()
|
||||
app.run(host="0.0.0.0", port=5000)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user