From 430f9f9fcfb1a1ab996a0c16390439413fad5fe7 Mon Sep 17 00:00:00 2001 From: Silversthorn Date: Sun, 12 Jun 2022 08:37:24 +0200 Subject: [PATCH 1/4] It might do the refresh after a server update --- app/classes/controllers/servers_controller.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/classes/controllers/servers_controller.py b/app/classes/controllers/servers_controller.py index d414858b..b4ddbb29 100644 --- a/app/classes/controllers/servers_controller.py +++ b/app/classes/controllers/servers_controller.py @@ -93,7 +93,9 @@ class ServersController(metaclass=Singleton): @staticmethod def update_server(server_obj): - return HelperServers.update_server(server_obj) + ret = HelperServers.update_server(server_obj) + ServersController().refresh_server_settings(server_obj.server_id) + return ret @staticmethod def set_download(server_id): From 007218111f20e825e999cc3db21315b6b321e083 Mon Sep 17 00:00:00 2001 From: Silversthorn Date: Sun, 12 Jun 2022 17:13:39 +0200 Subject: [PATCH 2/4] Should work now :) --- app/classes/controllers/servers_controller.py | 17 +++++++++-------- app/classes/shared/server.py | 8 ++++++++ app/classes/web/panel_handler.py | 4 ++-- 3 files changed, 19 insertions(+), 10 deletions(-) diff --git a/app/classes/controllers/servers_controller.py b/app/classes/controllers/servers_controller.py index b4ddbb29..73a1cc99 100644 --- a/app/classes/controllers/servers_controller.py +++ b/app/classes/controllers/servers_controller.py @@ -94,7 +94,10 @@ class ServersController(metaclass=Singleton): @staticmethod def update_server(server_obj): ret = HelperServers.update_server(server_obj) - ServersController().refresh_server_settings(server_obj.server_id) + server_instance: ServerInstance = ServersController().get_server_instance_by_id( + server_obj.server_id + ) + server_instance.update_server_instance() return ret @staticmethod @@ -236,7 +239,7 @@ class ServersController(metaclass=Singleton): @staticmethod def get_authorized_servers(user_id): - server_data: t.List[t.Dict[str, t.Any]] = [] + server_data: ServerInstance.List[ServerInstance.Dict[str, t.Any]] = [] user_roles = HelperUsers.user_role_query(user_id) for user in user_roles: role_servers = PermissionsServers.get_role_servers_from_role_id( @@ -269,14 +272,14 @@ class ServersController(metaclass=Singleton): server_data = [] try: for server in self.servers_list: - srv = ServersController().get_server_instance_by_id( + srv: ServerInstance = ServersController().get_server_instance_by_id( server.get("server_id") ) latest = srv.stats_helper.get_latest_server_stats() server_data.append( { - "server_data": ServersController.get_server_data_by_id( - server.get("server_id") + "server_data": DatabaseShortcuts.get_data_obj( + srv.server_object ), "stats": latest, "user_command_permission": True, @@ -332,9 +335,7 @@ class ServersController(metaclass=Singleton): user_command_permission = False server_data.append( { - "server_data": ServersController.get_server_data_by_id( - server.server_id - ), + "server_data": DatabaseShortcuts.get_data_obj(srv.server_object), "stats": latest, "user_command_permission": user_command_permission, } diff --git a/app/classes/shared/server.py b/app/classes/shared/server.py index 24daaceb..6cb5f645 100644 --- a/app/classes/shared/server.py +++ b/app/classes/shared/server.py @@ -1,4 +1,5 @@ from contextlib import redirect_stderr +from http import server import os import re import shutil @@ -139,6 +140,13 @@ class ServerInstance: # ********************************************************************************** # Minecraft Server Management # ********************************************************************************** + def update_server_instance(self): + server_data: Servers = HelperServers.get_server_obj(self.server_id) + self.server_path = server_data.path + self.jar_update_url = server_data.executable_update_url + self.name = server_data.server_name + self.server_object = server_data + def reload_server_settings(self): server_data = HelperServers.get_server_data_by_id(self.server_id) self.settings = server_data diff --git a/app/classes/web/panel_handler.py b/app/classes/web/panel_handler.py index af28b564..de633421 100644 --- a/app/classes/web/panel_handler.py +++ b/app/classes/web/panel_handler.py @@ -259,7 +259,7 @@ class PanelHandler(BaseHandler): for server in defined_servers[:]: if str(server.server_id) == str(server_id): page_servers.append( - ServersController.get_server_data_by_id(server.server_id) + DatabaseShortcuts.get_data_obj(server.server_object) ) user_order.remove(server_id) defined_servers.remove(server) @@ -268,7 +268,7 @@ class PanelHandler(BaseHandler): server_ids.append(str(server.server_id)) if server not in page_servers: page_servers.append( - ServersController.get_server_data_by_id(server.server_id) + DatabaseShortcuts.get_data_obj(server.server_object) ) for server_id in user_order[:]: From a9cdd33c7783ce9f7a960d9625b66c1af471a5b4 Mon Sep 17 00:00:00 2001 From: Silversthorn Date: Sun, 12 Jun 2022 18:30:39 +0200 Subject: [PATCH 3/4] Fixing Pylint Errors --- app/classes/controllers/servers_controller.py | 2 +- app/classes/shared/server.py | 1 - app/classes/web/panel_handler.py | 1 - 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/app/classes/controllers/servers_controller.py b/app/classes/controllers/servers_controller.py index 73a1cc99..b9263f40 100644 --- a/app/classes/controllers/servers_controller.py +++ b/app/classes/controllers/servers_controller.py @@ -239,7 +239,7 @@ class ServersController(metaclass=Singleton): @staticmethod def get_authorized_servers(user_id): - server_data: ServerInstance.List[ServerInstance.Dict[str, t.Any]] = [] + server_data: ServerInstance.List[t.Dict[str, t.Any]] = [] user_roles = HelperUsers.user_role_query(user_id) for user in user_roles: role_servers = PermissionsServers.get_role_servers_from_role_id( diff --git a/app/classes/shared/server.py b/app/classes/shared/server.py index 6cb5f645..e56015b3 100644 --- a/app/classes/shared/server.py +++ b/app/classes/shared/server.py @@ -1,5 +1,4 @@ from contextlib import redirect_stderr -from http import server import os import re import shutil diff --git a/app/classes/web/panel_handler.py b/app/classes/web/panel_handler.py index de633421..1008ae18 100644 --- a/app/classes/web/panel_handler.py +++ b/app/classes/web/panel_handler.py @@ -17,7 +17,6 @@ from tornado import iostream from tzlocal import get_localzone from croniter import croniter from app.classes.controllers.roles_controller import RolesController -from app.classes.controllers.servers_controller import ServersController from app.classes.models.servers import Servers from app.classes.models.server_permissions import EnumPermissionsServer From e0d0965931b49343b374d147985e693ae55ff966 Mon Sep 17 00:00:00 2001 From: Silversthorn Date: Sun, 12 Jun 2022 18:39:05 +0200 Subject: [PATCH 4/4] Fixing Pylint for good --- app/classes/controllers/servers_controller.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/classes/controllers/servers_controller.py b/app/classes/controllers/servers_controller.py index b9263f40..79ec384e 100644 --- a/app/classes/controllers/servers_controller.py +++ b/app/classes/controllers/servers_controller.py @@ -239,7 +239,7 @@ class ServersController(metaclass=Singleton): @staticmethod def get_authorized_servers(user_id): - server_data: ServerInstance.List[t.Dict[str, t.Any]] = [] + server_data: t.List[t.Dict[str, t.Any]] = [] user_roles = HelperUsers.user_role_query(user_id) for user in user_roles: role_servers = PermissionsServers.get_role_servers_from_role_id(