diff --git a/app/classes/shared/helpers.py b/app/classes/shared/helpers.py index a24019c5..da882b10 100644 --- a/app/classes/shared/helpers.py +++ b/app/classes/shared/helpers.py @@ -753,7 +753,7 @@ class Helpers:
  • \n"""\ - .format(os.path.join(folder, filename), os.path.join(folder, filename), os.path.join(folder, filename), os.path.join(folder, filename), filename, os.path.join(folder, filename), os.path.join(folder, filename), filename, filename) + .format(os.path.join(folder, filename), os.path.join(folder, filename), os.path.join(folder, filename), filename, os.path.join(folder, filename), os.path.join(folder, filename), os.path.join(folder, filename), filename, filename) return output @staticmethod @@ -777,19 +777,20 @@ class Helpers: {}
  • """\ - .format(os.path.join(folder, filename), os.path.join(folder, filename), os.path.join(folder, filename), os.path.join(folder, filename), filename, os.path.join(folder, filename), os.path.join(folder, filename), filename, filename) + .format(os.path.join(folder, filename), os.path.join(folder, filename), os.path.join(folder, filename), filename, os.path.join(folder, filename), os.path.join(folder, filename), os.path.join(folder, filename), filename, filename) return output @staticmethod def unzipServer(zip_path, user_id): - tempDir = tempfile.mkdtemp() - with zipfile.ZipFile(zip_path, 'r') as zip_ref: - #extracts archive to temp directory - zip_ref.extractall(tempDir) - if user_id: - websocket_helper.broadcast_user(user_id, 'send_temp_path',{ - 'path': tempDir - }) + if helper.check_file_perms(zip_path): + tempDir = tempfile.mkdtemp() + with zipfile.ZipFile(zip_path, 'r') as zip_ref: + #extracts archive to temp directory + zip_ref.extractall(tempDir) + if user_id: + websocket_helper.broadcast_user(user_id, 'send_temp_path',{ + 'path': tempDir + }) return @staticmethod diff --git a/app/classes/shared/main_controller.py b/app/classes/shared/main_controller.py index 8f273c54..109af258 100644 --- a/app/classes/shared/main_controller.py +++ b/app/classes/shared/main_controller.py @@ -296,26 +296,22 @@ class Controller: new_server_dir = os.path.join(helper.servers_dir, server_id) backup_path = os.path.join(helper.backup_path, server_id) tempDir = helper.get_os_understandable_path(zip_path) - - if helper.check_file_perms(zip_path): - helper.ensure_dir_exists(new_server_dir) - helper.ensure_dir_exists(backup_path) - has_properties = False - #extracts archive to temp directory - for item in os.listdir(tempDir): - if str(item) == 'server.properties': - has_properties = True - try: - shutil.move(os.path.join(tempDir, item), os.path.join(new_server_dir, item)) - except Exception as ex: - logger.error('ERROR IN ZIP IMPORT: {}'.format(ex)) - if not has_properties: - logger.info("No server.properties found on zip file import. Creating one with port selection of {}".format(str(port))) - with open(os.path.join(new_server_dir, "server.properties"), "w") as f: - f.write("server-port={}".format(port)) - f.close() - else: - return "false" + helper.ensure_dir_exists(new_server_dir) + helper.ensure_dir_exists(backup_path) + has_properties = False + #extracts archive to temp directory + for item in os.listdir(tempDir): + if str(item) == 'server.properties': + has_properties = True + try: + shutil.move(os.path.join(tempDir, item), os.path.join(new_server_dir, item)) + except Exception as ex: + logger.error('ERROR IN ZIP IMPORT: {}'.format(ex)) + if not has_properties: + logger.info("No server.properties found on zip file import. Creating one with port selection of {}".format(str(port))) + with open(os.path.join(new_server_dir, "server.properties"), "w") as f: + f.write("server-port={}".format(port)) + f.close() full_jar_path = os.path.join(new_server_dir, server_jar) server_command = 'java -Xms{}M -Xmx{}M -jar {} nogui'.format(helper.float_to_string(min_mem), diff --git a/app/classes/web/server_handler.py b/app/classes/web/server_handler.py index 106542c0..5ab73993 100644 --- a/app/classes/web/server_handler.py +++ b/app/classes/web/server_handler.py @@ -192,13 +192,12 @@ class ServerHandler(BaseHandler): elif import_type == 'import_zip': # here import_server_path means the zip path zip_path = bleach.clean(self.get_argument('root_path')) - print(zip_path) good_path = helper.check_path_exists(zip_path) if not good_path: self.redirect("/panel/error?error=Temp path not found!") return - new_server_id = self.controller.import_zip_server(server_name, import_server_path, import_server_jar, min_mem, max_mem, port) + new_server_id = self.controller.import_zip_server(server_name, zip_path, import_server_jar, min_mem, max_mem, port) if new_server_id == "false": self.redirect("/panel/error?error=Zip file not accessible! You can fix this permissions issue with sudo chown -R crafty:crafty {} And sudo chmod 2775 -R {}".format(import_server_path, import_server_path)) return diff --git a/app/frontend/templates/server/wizard.html b/app/frontend/templates/server/wizard.html index e8238b78..95e41f8e 100644 --- a/app/frontend/templates/server/wizard.html +++ b/app/frontend/templates/server/wizard.html @@ -576,7 +576,7 @@ function hide(event) { } if (webSocket) { webSocket.on('send_temp_path', function (data) { - document.getElementById('main-tree-input').setAttribute('data-path', data.path) + document.getElementById('main-tree-input').setAttribute('value', data.path) getTreeView(data.path); show_file_tree(); });