Spaces:
Paused
Paused
| 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) | |
| 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) |