From 48c70279f7153229e51b5db254f24b9762393708 Mon Sep 17 00:00:00 2001 From: Andrew Date: Thu, 26 Aug 2021 22:43:11 -0400 Subject: [PATCH] Fixes error thrown when server download doesn't finsih before server creation ends. Adds notification when download is complete. --- app/classes/minecraft/serverjars.py | 9 ++++++--- app/classes/shared/controller.py | 2 +- app/classes/shared/server.py | 1 - 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/app/classes/minecraft/serverjars.py b/app/classes/minecraft/serverjars.py index e7a5f448..66f90cbc 100644 --- a/app/classes/minecraft/serverjars.py +++ b/app/classes/minecraft/serverjars.py @@ -11,6 +11,7 @@ from app.classes.shared.helpers import helper from app.classes.shared.console import console from app.classes.shared.models import Servers from app.classes.minecraft.server_props import ServerProps +from app.classes.web.websocket_helper import websocket_helper logger = logging.getLogger(__name__) @@ -173,11 +174,11 @@ class ServerJars: response = self._get_api_result(url) return response - def download_jar(self, server, version, path): - update_thread = threading.Thread(target=self.a_download_jar, daemon=True, name="exe_download", args=(server, version, path)) + def download_jar(self, server, version, path, name): + update_thread = threading.Thread(target=self.a_download_jar, daemon=True, name="exe_download", args=(server, version, path, name)) update_thread.start() - def a_download_jar(self, server, version, path): + def a_download_jar(self, server, version, path, name): fetch_url = "{base}/api/fetchJar/{server}/{version}".format(base=self.base_url, server=server, version=version) # open a file stream @@ -189,6 +190,8 @@ class ServerJars: except Exception as e: logger.error("Unable to save jar to {path} due to error:{error}".format(path=path, error=e)) pass + websocket_helper.broadcast('notification', "Executable download finished for server named: " + name) + return False diff --git a/app/classes/shared/controller.py b/app/classes/shared/controller.py index 9c7e53cf..91bed96d 100644 --- a/app/classes/shared/controller.py +++ b/app/classes/shared/controller.py @@ -297,7 +297,7 @@ class Controller: server_stop = "stop" # download the jar - server_jar_obj.download_jar(server, version, full_jar_path) + server_jar_obj.download_jar(server, version, full_jar_path, name) new_id = self.register_server(name, server_id, server_dir, backup_path, server_command, server_file, server_log_file, server_stop) return new_id diff --git a/app/classes/shared/server.py b/app/classes/shared/server.py index 6998be13..a504c15c 100644 --- a/app/classes/shared/server.py +++ b/app/classes/shared/server.py @@ -115,7 +115,6 @@ class Server: self.settings = server_data_obj # build our server run command - self.setup_server_run_command() if server_data_obj['auto_start']: delay = int(self.settings['auto_start_delay'])