#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Веб-интерфейс для аналитики AI-КАЛОРИЯ бота
"""

from flask import Flask, render_template, jsonify
from analytics import BotAnalytics
import os

app = Flask(__name__)
analytics = BotAnalytics()

@app.route('/')
def index():
    """Главная страница с аналитикой"""
    return render_template('analytics.html')

@app.route('/api/analytics/<int:days>')
def get_analytics(days=30):
    """API для получения аналитики"""
    try:
        data = analytics.get_full_analytics(days=days)
        return jsonify(data)
    except Exception as e:
        return jsonify({'error': str(e)}), 500

@app.route('/api/general_stats')
def get_general_stats():
    """Получение общей статистики"""
    try:
        data = analytics.get_general_stats()
        return jsonify(data)
    except Exception as e:
        return jsonify({'error': str(e)}), 500

@app.route('/api/top_users/<int:limit>')
def get_top_users(limit=10):
    """Получение топ пользователей"""
    try:
        data = analytics.get_top_users(limit=limit)
        return jsonify(data)
    except Exception as e:
        return jsonify({'error': str(e)}), 500

@app.route('/api/top_foods/<int:limit>')
def get_top_foods(limit=20):
    """Получение топ продуктов"""
    try:
        data = analytics.get_top_foods(limit=limit)
        return jsonify(data)
    except Exception as e:
        return jsonify({'error': str(e)}), 500

@app.route('/api/daily_activity/<int:days>')
def get_daily_activity(days=30):
    """Получение активности по дням"""
    try:
        data = analytics.get_daily_activity(days=days)
        return jsonify(data)
    except Exception as e:
        return jsonify({'error': str(e)}), 500

@app.route('/api/hourly_activity')
def get_hourly_activity():
    """Получение активности по часам"""
    try:
        data = analytics.get_hourly_activity()
        return jsonify(data)
    except Exception as e:
        return jsonify({'error': str(e)}), 500

if __name__ == '__main__':
    # Создаём директорию для шаблонов, если её нет
    os.makedirs('templates', exist_ok=True)
    
    # Запускаем сервер
    app.run(host='0.0.0.0', port=5001, debug=True)

