modified: app.py
modified: templates/logs.html
This commit is contained in:
31
app.py
31
app.py
@@ -1,12 +1,15 @@
|
||||
from flask import Flask, render_template, redirect, url_for, request, session
|
||||
from flask import Flask, render_template, redirect, url_for, request, session, jsonify, send_file
|
||||
import os
|
||||
import subprocess
|
||||
import psutil
|
||||
import mysql.connector
|
||||
from datetime import datetime
|
||||
|
||||
app = Flask(__name__)
|
||||
app.secret_key = os.getenv("FLASK_SECRET_KEY", "default_secret_key")
|
||||
|
||||
LOG_FILE_PATH = os.path.join("logs", f"{datetime.now().strftime('%Y-%m-%d')}.log")
|
||||
|
||||
# Verwende Umgebungsvariablen aus Coolify für die Datenbankverbindung
|
||||
DB_HOST = os.getenv("DB_HOST")
|
||||
DB_PORT = os.getenv("DB_PORT")
|
||||
@@ -138,5 +141,31 @@ def users():
|
||||
return render_template("users.html", users=users)
|
||||
return redirect(url_for("login"))
|
||||
|
||||
@app.route("/logs")
|
||||
def view_logs():
|
||||
"""Zeigt die Logs des Bots im Admin-Panel an."""
|
||||
if "username" in session:
|
||||
return render_template("logs.html")
|
||||
return redirect(url_for("login"))
|
||||
|
||||
@app.route("/get_logs")
|
||||
def get_logs():
|
||||
"""Liest den Inhalt der Log-Datei und gibt ihn zurück."""
|
||||
if "username" in session:
|
||||
try:
|
||||
with open(LOG_FILE_PATH, 'r', encoding='utf-8') as file:
|
||||
logs = file.read()
|
||||
return jsonify({"logs": logs})
|
||||
except FileNotFoundError:
|
||||
return jsonify({"logs": "Log file not found."})
|
||||
return redirect(url_for("login"))
|
||||
|
||||
@app.route("/download_logs")
|
||||
def download_logs():
|
||||
"""Bietet die Log-Datei zum Download an."""
|
||||
if "username" in session:
|
||||
return send_file(LOG_FILE_PATH, as_attachment=True)
|
||||
return redirect(url_for("login"))
|
||||
|
||||
if __name__ == "__main__":
|
||||
app.run(host="0.0.0.0", port=5000, debug=True)
|
||||
|
||||
Reference in New Issue
Block a user