diff --git a/main.py b/main.py index 588b859..af40469 100644 --- a/main.py +++ b/main.py @@ -1,4 +1,4 @@ -from os import system, getcwd +from os import system import time from argparse import ArgumentParser from minesquid import MineSquid, ZeroSelector, Restart @@ -19,7 +19,7 @@ group1.add_argument("--restore", default=0, nargs='?', const=1, help="используйте --restore, чтобы восстановить бэкап") args = parser.parse_args() -program_version = "2.20" +program_version = "2.21" ok = MineSquid(program_version) logging = ok.logging diff --git a/minesquid.py b/minesquid.py index 821757a..93091e8 100644 --- a/minesquid.py +++ b/minesquid.py @@ -231,30 +231,35 @@ def load_modpack(self, modpack_number): def restore_backup(self): if self.game_directory != 'не назначена': - bob = False - logging.info("Пользователь запустил восстановление бэкапа") - pb2 = Bar("Восстановление", max=3, fill='@') - if os.path.exists(f"{self.game_directory}\\mods"): - pb2.next() - bob = True - copytree(f"{self.game_directory}\\mods", f"{self.userappdata}\\bob", dirs_exist_ok=True) - logging.info("Бэкап сделан перед восстановлением бэкапа)") - rmtree(f"{self.game_directory}\\mods") - logging.info("Папка mods удалена") + if len(os.listdir(f"{self.userappdata}\\backup")) == 0: + print("Бэкап отсутствует, восстанавливать нечего") + sleep(1) + raise Restart else: + bob = False + logging.info("Пользователь запустил восстановление бэкапа") + pb2 = Bar("Восстановление", max=3, fill='@') + if os.path.exists(f"{self.game_directory}\\mods"): + pb2.next() + bob = True + copytree(f"{self.game_directory}\\mods", f"{self.userappdata}\\bob", dirs_exist_ok=True) + logging.info("Бэкап сделан перед восстановлением бэкапа)") + rmtree(f"{self.game_directory}\\mods") + logging.info("Папка mods удалена") + else: + pb2.next() + copytree(f"{self.userappdata}\\backup", f"{self.game_directory}\\mods\\") pb2.next() - copytree(f"{self.userappdata}\\backup", f"{self.game_directory}\\mods\\") - pb2.next() - if bob: - rmtree(f"{self.userappdata}\\backup") - os.rename(f"{self.userappdata}\\bob", f"{self.userappdata}\\backup") - else: - pass - logging.info("Бэкап восстановлен") - pb2.next() - pb2.finish() - print("Бэкап восстановлен") - self.finish() + if bob: + rmtree(f"{self.userappdata}\\backup") + os.rename(f"{self.userappdata}\\bob", f"{self.userappdata}\\backup") + else: + pass + logging.info("Бэкап восстановлен") + pb2.next() + pb2.finish() + print("Бэкап восстановлен") + self.finish() else: print("Папка с игрой не указана!") sleep(1.5) diff --git a/version.txt b/version.txt index 9761f73..301843e 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -2.20 \ No newline at end of file +2.21 \ No newline at end of file