Files
elmer/web/app.py
T

50 lines
1.4 KiB
Python

"""elmAI — точка входа Flask-приложения.
Запуск через gunicorn:
gunicorn -w 4 -b 127.0.0.1:8000 web.app:app
Структура модулей:
api/ — REST-эндпоинты, БД, скрипты
brain/ — LLM-клиент, промпты
obd/ — ELM327-протокол (AndrOBD)
"""
import sys
import logging
from pathlib import Path
# Добавляем корень проекта в PYTHONPATH для импорта api/, brain/, obd/
sys.path.insert(0, str(Path(__file__).parent.parent))
from flask import Flask, jsonify, redirect, render_template, request, send_from_directory
from api.config import load
from api.routes import register as register_api
from api.dtc import register as register_dtc
from api.ping import register as register_ping
logging.basicConfig(level=logging.INFO, format="%(asctime)s [%(name)s] %(message)s")
app = Flask(__name__)
config = load()
register_api(app)
register_dtc(app)
register_ping(app)
@app.route("/")
def index():
"""Главная страница."""
return render_template("index.html")
@app.route("/elmer.apk")
def download_apk():
"""Прямая ссылка на APK."""
return send_from_directory("static", "app-debug.apk", as_attachment=True, download_name="elmer.apk")
if __name__ == "__main__":
print(f"🌐 elmAI Web: http://localhost:5005")
app.run(host="0.0.0.0", port=5005, debug=False)