From 096a38ae5435380e55a21bbcf41f59c50c332dc4 Mon Sep 17 00:00:00 2001 From: Scott R <86810816+xithical@users.noreply.github.com> Date: Fri, 13 Aug 2021 23:28:41 -0500 Subject: [PATCH] Redoing shutil zip after merging new DB things Merged from Pretzel for DB change things and needed to readd code for shutil for zipping --- app/classes/shared/helpers.py | 8 -------- app/classes/shared/server.py | 12 ++++++------ 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/app/classes/shared/helpers.py b/app/classes/shared/helpers.py index 5d124d32..7242fda0 100644 --- a/app/classes/shared/helpers.py +++ b/app/classes/shared/helpers.py @@ -555,14 +555,6 @@ class Helpers: return json.loads(content) @staticmethod - def zip_directory(file, path, compression=zipfile.ZIP_LZMA): - with zipfile.ZipFile(file, 'w', compression) as zf: - for root, dirs, files in os.walk(path): - for file in files: - zf.write(os.path.join(root, file), - os.path.relpath(os.path.join(root, file), - os.path.join(path, '..'))) - @staticmethod def copy_files(source, dest): if os.path.isfile(source): shutil.copyfile(source, dest) diff --git a/app/classes/shared/server.py b/app/classes/shared/server.py index 2266b256..28292b98 100644 --- a/app/classes/shared/server.py +++ b/app/classes/shared/server.py @@ -11,6 +11,8 @@ import schedule import logging.config import zipfile from threading import Thread +import shutil +import zlib from app.classes.shared.helpers import helper @@ -366,15 +368,13 @@ class Server: try: backup_filename = "{}/{}.zip".format(self.settings['backup_path'], datetime.datetime.now().strftime('%Y-%m-%d_%H-%M-%S')) logger.info("Creating backup of server '{}' (ID#{}) at '{}'".format(self.settings['server_name'], self.server_id, backup_filename)) - helper.zip_directory(backup_filename, self.server_path) + shutil.make_archive(backup_filename, 'zip', self.server_path) while len(self.list_backups()) > conf["max_backups"]: backup_list = self.list_backups() oldfile = backup_list[0] - backup_path = self.settings['backup_path'] - old_file_name = oldfile['path'] - back_old_file = os.path.join(backup_path, old_file_name) - logger.info("Removing old backup '{}'".format(oldfile)) - os.remove(back_old_file) + oldfile_path = "{}/{}".format(conf['backup_path'], oldfile['path']) + logger.info("Removing old backup '{}'".format(oldfile['path'])) + os.remove(oldfile_path) self.is_backingup = False logger.info("Backup of server: {} completed".format(self.name)) return