crafty-4/app/classes/web/status_handler.py

54 lines
1.7 KiB
Python
Raw Normal View History

2021-08-27 01:06:22 +00:00
import logging
from app.classes.web.base_handler import BaseHandler
logger = logging.getLogger(__name__)
2021-08-27 01:06:22 +00:00
class StatusHandler(BaseHandler):
def get(self):
2023-01-31 18:11:28 +00:00
page_data = {
"background": self.controller.cached_login,
"lang": self.helper.get_setting("language"),
"lang_page": self.helper.get_lang_page(self.helper.get_setting("language")),
"servers": self.controller.servers.get_all_servers_stats(),
}
2022-03-08 00:57:52 +00:00
running = 0
for srv in page_data["servers"]:
if srv["stats"]["running"]:
2022-03-08 00:57:52 +00:00
running += 1
server_data = srv.get("server_data", False)
server_id = server_data.get("server_id", False)
srv["raw_ping_result"] = self.controller.servers.get_server_stats_by_id(
server_id
)
if "icon" not in srv["raw_ping_result"]:
srv["raw_ping_result"]["icon"] = False
2021-08-27 01:06:22 +00:00
page_data["running"] = running
2022-03-08 00:57:52 +00:00
template = "public/status.html"
2021-08-27 01:06:22 +00:00
self.render(
template,
data=page_data,
translate=self.translator.translate,
)
2021-08-27 01:06:22 +00:00
def post(self):
page_data = {}
page_data["servers"] = self.controller.servers.get_all_servers_stats()
for srv in page_data["servers"]:
server_data = srv.get("server_data", False)
server_id = server_data.get("server_id", False)
srv["raw_ping_result"] = self.controller.servers.get_server_stats_by_id(
server_id
)
template = "public/status.html"
2021-08-27 01:06:22 +00:00
self.render(
template,
data=page_data,
translate=self.translator.translate,
)