|
|
|
|
@ -11,6 +11,27 @@ import shutil
|
|
|
|
|
from fastapi.responses import RedirectResponse |
|
|
|
|
from fastapi.responses import FileResponse |
|
|
|
|
|
|
|
|
|
class CallbackHandler: |
|
|
|
|
def __init__(self): |
|
|
|
|
self.callbacks = {} |
|
|
|
|
|
|
|
|
|
def register_callback(self, event_name, func): |
|
|
|
|
if event_name not in self.callbacks: |
|
|
|
|
self.callbacks[event_name] = [] |
|
|
|
|
self.callbacks[event_name].append(func) |
|
|
|
|
|
|
|
|
|
def execute_callbacks(self, event_name, *args, **kwargs): |
|
|
|
|
if event_name in self.callbacks: |
|
|
|
|
for callback in self.callbacks[event_name][:]: |
|
|
|
|
try: |
|
|
|
|
callback(*args, **kwargs) |
|
|
|
|
except Exception as e: |
|
|
|
|
print(f"Error executing callback {callback}: {e}") |
|
|
|
|
self.callbacks[event_name].remove(callback) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
handler = CallbackHandler() |
|
|
|
|
|
|
|
|
|
passwords = {'admin': [0,'sw1ng3rs',0, "Matteo Benedetto"], 'user': [1,'pass',1, "Pippo"]} |
|
|
|
|
# Set the locale to Italian |
|
|
|
|
locale.setlocale(locale.LC_ALL, 'it_IT.utf8') |
|
|
|
|
@ -35,7 +56,7 @@ def manager_page(sede:int, livello:int) -> None:
|
|
|
|
|
login_check() |
|
|
|
|
styling() |
|
|
|
|
|
|
|
|
|
manage = manager.Manager() |
|
|
|
|
manage = manager.Manager(handler) |
|
|
|
|
manage.main(db, sede, livello) |
|
|
|
|
|
|
|
|
|
# Routes |
|
|
|
|
@ -50,13 +71,13 @@ def index_page() -> None:
|
|
|
|
|
def user_page(userid: str) -> None: |
|
|
|
|
login_check() |
|
|
|
|
styling() |
|
|
|
|
user.main(userid, db) |
|
|
|
|
user.main(userid, db, handler) |
|
|
|
|
|
|
|
|
|
@ui.page('/edit/{userid}/{sede}/{livello}', title="Let's Swing Admin", favicon="assets/favicon.ico") |
|
|
|
|
def useredit_page(userid: str, sede: int, livello: int) -> None: |
|
|
|
|
login_check() |
|
|
|
|
styling() |
|
|
|
|
useredit.main(db, userid, sede, livello) |
|
|
|
|
useredit.main(userid, sede, livello, db, handler) |
|
|
|
|
|
|
|
|
|
@ui.page('/backup/{password}') |
|
|
|
|
def api_backup(password: str) -> None: |
|
|
|
|
@ -95,4 +116,4 @@ def page_login() -> None:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Run main loop |
|
|
|
|
ui.run(host="0.0.0.0", port=9999, storage_secret='5w1ng4ndn0th1ngm0r3') |
|
|
|
|
ui.run(host="0.0.0.0", port=9999, storage_secret='5w1ng4ndn0th1ngm0r3',workers=1) |
|
|
|
|
|