From 41c7c5782fd362dda0d9fc28f968543a1e9aff36 Mon Sep 17 00:00:00 2001 From: kjeld Schouten-Lebbing Date: Thu, 20 Jan 2022 16:26:24 +0100 Subject: [PATCH] add backup restore feature and bump to 3.0.0 to surpass TrueUpdate --- README.md | 2 +- setup.py | 2 +- truetool/__init__.py | 13 +++---------- 3 files changed, 5 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index ecf8094b..d90d398b 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ Additional options are available: ### Backup - `truetool -b` or ` truetool --backup` backup the complete Apps system prior to updates. Deletes old backups prior, number of old backups can be set, 14 by default -- `truetool -r` or ` truetool --restore` **WIP** restores a specific backup by name +- `truetool -r` or ` truetool --restore` restores a specific backup by name - `truetool -d` or ` truetool --delete` deletes a specific backup by name ### Other diff --git a/setup.py b/setup.py index 1138d303..eadd067a 100644 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ README_MD = open(join(dirname(abspath(__file__)), "README.md")).read() setup( name="truetool", - version="2.1.0", + version="3.0.0", # The packages that constitute your project. # For my project, I have only one - "pydash". diff --git a/truetool/__init__.py b/truetool/__init__.py index 65b7b56e..cdfa0375 100644 --- a/truetool/__init__.py +++ b/truetool/__init__.py @@ -207,16 +207,9 @@ def get_backups_names(): def apps_restore(): print("Running Backup Restore...\n") - command = "app kubernetes restore_backup backup_name="+RESTORE - print(f"{command}") - process = subprocess.Popen(["cli", "-c", command], stdout=subprocess.PIPE) - while process.poll() is None: - lines = process.stdout.readline() - print (lines.decode('utf-8')) - temp = process.stdout.read() - if temp: - print (temp.decode('utf-8')) - + process = subprocess.run(["midclt", "call", "kubernetes.restore_backup", RESTORE], stdout=subprocess.PIPE) + time.sleep(5) + print("Restoration started, please check the restoration process in the TrueNAS SCALE Web GUI...\n") def run(): process_args()