From bedafe1766ae464515106ffb811ade69efedfc92 Mon Sep 17 00:00:00 2001 From: Robert Putt Date: Mon, 8 Jul 2024 07:51:25 +0100 Subject: [PATCH] Add wingbits to backup --- hw_diag/utilities/backup/__init__.py | 4 +++- hw_diag/utilities/backup/wingbits.py | 18 ++++++++++++++++++ hw_diag/views/backup_restore.py | 9 ++++++--- 3 files changed, 27 insertions(+), 4 deletions(-) create mode 100644 hw_diag/utilities/backup/wingbits.py diff --git a/hw_diag/utilities/backup/__init__.py b/hw_diag/utilities/backup/__init__.py index 2e58a103..2fb5931e 100644 --- a/hw_diag/utilities/backup/__init__.py +++ b/hw_diag/utilities/backup/__init__.py @@ -6,6 +6,7 @@ from hw_diag.utilities.backup.myst import MystBackupRestore from hw_diag.utilities.backup.thingsix import ThingsIXBackupRestore from hw_diag.utilities.backup.nebra import NebraBackupRestore +from hw_diag.utilities.backup.wingbits import WingbitsBackupRestore from hw_diag.utilities.db import get_value, set_value from hw_diag.utilities.crypto import empty_hash @@ -13,7 +14,8 @@ PLUGINS = [ MystBackupRestore, ThingsIXBackupRestore, - NebraBackupRestore + NebraBackupRestore, + WingbitsBackupRestore ] diff --git a/hw_diag/utilities/backup/wingbits.py b/hw_diag/utilities/backup/wingbits.py new file mode 100644 index 00000000..2597f235 --- /dev/null +++ b/hw_diag/utilities/backup/wingbits.py @@ -0,0 +1,18 @@ +import os +import shutil + +from hw_diag.utilities.backup.base import BaseBackupRestore + + +CONFIG_FILE = '/var/nebra/wingbits.json' + + +class WingbitsBackupRestore(BaseBackupRestore): + name = 'WINGBITS' + + def backup(self): + os.mkdir(self.tmpdir) + shutil.copyfile(CONFIG_FILE, '%s/wingbits.json' % self.tmpdir) + + def restore(self): + os.system('cp %s/wingbits.json %s' % (self.tmpdir, CONFIG_FILE)) # nosec diff --git a/hw_diag/views/backup_restore.py b/hw_diag/views/backup_restore.py index 15a50476..8fac0f03 100644 --- a/hw_diag/views/backup_restore.py +++ b/hw_diag/views/backup_restore.py @@ -1,5 +1,6 @@ import logging import os +import time from flask import Blueprint from flask import render_template @@ -29,11 +30,12 @@ def get_backup_page(): diagnostics = read_diagnostics_file() claim_deeplink = claim_miner_deeplink() - + return render_template( 'backup_restore.html', diagnostics=diagnostics, - claim_deeplink=claim_deeplink + claim_deeplink=claim_deeplink, + now=round(time.time()) ) @@ -64,7 +66,8 @@ def do_restore(): return render_template( 'reconfigure_countdown.html', seconds=120, - next_url='/' + next_url='/', + now=round(time.time()) ) except Exception: return 'Error during restoration', 500