Merge branch 'dev' into dev_ultimateFixes

This commit is contained in:
Silversthorn 2021-11-20 10:25:11 +01:00
commit 0f70b288d7
5 changed files with 25 additions and 9 deletions

View File

@ -2,7 +2,7 @@ import os
import sys
import cmd
import time
import threading
import logging
logger = logging.getLogger(__name__)
@ -69,6 +69,10 @@ class MainPrompt(cmd.Cmd, object):
else:
console.info('Unknown migration command')
def do_threads(self, line):
for thread in threading.enumerate():
print(f'Name: {thread.name} IDENT: {thread.ident}')
def universal_exit(self):
logger.info("Stopping all server daemons / threads")
console.info("Stopping all server daemons / threads - This may take a few seconds")

View File

@ -74,6 +74,7 @@ class ServerOutBuf:
flush = self.proc.stdout.read().decode('utf-8')
for char in flush:
self.process_byte(char)
break
def new_line_handler(self, new_line):
new_line = re.sub('(\033\\[(0;)?[0-9]*[A-z]?(;[0-9])?m?)|(> )', '', new_line)
@ -114,7 +115,7 @@ class Server:
self.restart_count = 0
self.crash_watcher_schedule = None
self.stats = stats
self.backup_thread = threading.Thread(target=self.a_backup_server, daemon=True, name="backup")
self.backup_thread = threading.Thread(target=self.a_backup_server, daemon=True, name=f"backup_{self.name}")
self.is_backingup = False
def reload_server_settings(self):
@ -260,7 +261,7 @@ class Server:
self.send_command(self.settings['stop_command'])
else:
#windows will need to be handled separately for Ctrl+C
self.process.terinate()
self.process.terminate()
running = self.check_running()
if not running:
logger.info("Can't stop server {} if it's not running".format(self.name))
@ -426,7 +427,7 @@ class Server:
return False
def backup_server(self):
backup_thread = threading.Thread(target=self.a_backup_server, daemon=True, name="backup")
backup_thread = threading.Thread(target=self.a_backup_server, daemon=True, name=f"backup_{self.name}")
logger.info("Starting Backup Thread for server {}.".format(self.settings['server_name']))
if self.server_path == None:
self.server_path = self.settings['path']
@ -475,7 +476,7 @@ class Server:
def jar_update(self):
servers_helper.set_update(self.server_id, True)
update_thread = threading.Thread(target=self.a_jar_update, daemon=True, name="exe_update")
update_thread = threading.Thread(target=self.a_jar_update, daemon=True, name=f"exe_update_{self.name}")
update_thread.start()
def check_update(self):

View File

@ -214,9 +214,13 @@ class AjaxHandler(BaseHandler):
file_path = self.get_body_argument('file_path', default=None, strip=True)
server_id = self.get_argument('id', None)
if os.name == "nt":
file_path = file_path.replace('/', "\\")
console.warning("delete {} for server {}".format(file_path, server_id))
if not self.check_server_id(server_id, 'del_file'): return
if not self.check_server_id(server_id, 'del_file'):
return
else: server_id = bleach.clean(server_id)
server_info = self.controller.servers.get_server_data_by_id(server_id)

View File

@ -206,8 +206,11 @@ class PanelHandler(BaseHandler):
page_data['user_permissions'] = self.controller.server_perms.get_server_permissions_foruser(exec_user_id, server_id)
if subpage == "backup":
server_info = self.controller.servers.get_server_data_by_id(server_id)
page_data['backup_config'] = self.controller.management.get_backup_config(server_id)
page_data['backup_list'] = server.list_backups()
page_data['backup_path'] = server_info["backup_path"]
print(page_data['backup_path'])
def get_banned_players_html():
banned_players = self.controller.servers.get_banned_players(server_id)

View File

@ -149,10 +149,13 @@
console.log('Sending Command to delete backup: ' + filename)
$.ajax({
type: "POST",
type: "DELETE",
headers: {'X-XSRFToken': token},
url: '/ajax/del_file?server_id='+id,
data: data_to_send,
data: {
file_path: filename,
id: id
},
success: function(data) {
location.reload();
},
@ -201,7 +204,8 @@
callback: function (result) {
console.log(result);
if (result == true) {
del_backup(file_to_del, {{ data['server_stats']['server_id']['server_id'] }} );
var full_path = '{{ data['backup_path'] }}' + '/' + file_to_del;
del_backup(full_path, {{ data['server_stats']['server_id']['server_id'] }} );
}
}
});