from flask import Flask, render_template, request import threading import time from main import run_backup app = Flask(__name__) last_backup_time = "Never" schedule_interval = 0 running_thread = None def schedule_loop(): global last_backup_time while True: if schedule_interval > 0: run_backup() last_backup_time = time.ctime() time.sleep(schedule_interval * 60) else: time.sleep(10) @app.route("/", methods=["GET", "POST"]) def index(): global schedule_interval, last_backup_time if request.method == "POST": if request.form.get("manual_run"): last_backup_time = time.ctime() result = run_backup() else: schedule_interval = int(request.form.get("interval", 0)) result = f"Timer set for every {schedule_interval} min" else: result = "" return render_template("index.html", last_run=last_backup_time, result=result, interval=schedule_interval) if __name__ == "__main__": running_thread = threading.Thread(target=schedule_loop, daemon=True) running_thread.start() app.run(host="0.0.0.0", port=7860)