From e23797f97d16e7686bc59f89b1566ec6e3afab09 Mon Sep 17 00:00:00 2001 From: Orsiris de Jong Date: Wed, 1 Feb 2023 19:06:52 +0100 Subject: [PATCH] Reformat files with black --- npbackup/__main__.py | 8 +++-- npbackup/configuration.py | 22 ++++++++----- npbackup/core/runner.py | 4 ++- npbackup/core/upgrade_runner.py | 10 ++---- npbackup/gui/config.py | 51 +++++++++++++++++++++++++---- npbackup/gui/main.py | 14 +++++--- npbackup/upgrade_client/upgrader.py | 28 +++++++++++----- 7 files changed, 99 insertions(+), 38 deletions(-) diff --git a/npbackup/__main__.py b/npbackup/__main__.py index de49a16..42ba060 100644 --- a/npbackup/__main__.py +++ b/npbackup/__main__.py @@ -217,9 +217,13 @@ This is free software, and you are welcome to redistribute it under certain cond parser.add_argument("--license", action="store_true", help="Show license") parser.add_argument( - "--auto-upgrade", action="store_true", help="Auto upgrade NPBackup") + "--auto-upgrade", action="store_true", help="Auto upgrade NPBackup" + ) parser.add_argument( - "--upgrade-conf", action="store_true", help="Add new configuration elements after upgrade") + "--upgrade-conf", + action="store_true", + help="Add new configuration elements after upgrade", + ) args = parser.parse_args() if args.version: diff --git a/npbackup/configuration.py b/npbackup/configuration.py index 4c98070..f485dcd 100644 --- a/npbackup/configuration.py +++ b/npbackup/configuration.py @@ -41,15 +41,19 @@ ENCRYPTED_OPTIONS = [ {"section": "options", "name": "server_password", "type": str}, ] -empty_config_dict = {"backup": { - "compression": "auto", - "use_fs_snapshot": True, - "ignore_cloud_files": True, - "exclude_caches": True, - "priority": "low", -}, "repo": { - "minimum_backup_age": 86400 -}, "prometheus": {}, "env": {}, "options": {}} +empty_config_dict = { + "backup": { + "compression": "auto", + "use_fs_snapshot": True, + "ignore_cloud_files": True, + "exclude_caches": True, + "priority": "low", + }, + "repo": {"minimum_backup_age": 86400}, + "prometheus": {}, + "env": {}, + "options": {}, +} def decrypt_data(config_dict): diff --git a/npbackup/core/runner.py b/npbackup/core/runner.py index d7f15b8..a0a23a5 100644 --- a/npbackup/core/runner.py +++ b/npbackup/core/runner.py @@ -255,7 +255,9 @@ class NPBackupRunner: logger.warning("Bogus backup priority in config file.") try: if self.config_dict["backup"]["ignore_cloud_files"]: - self.restic_runner.ignore_cloud_files = self.config_dict["backup"]["ignore_cloud_files"] + self.restic_runner.ignore_cloud_files = self.config_dict["backup"][ + "ignore_cloud_files" + ] except KeyError: pass except ValueError: diff --git a/npbackup/core/upgrade_runner.py b/npbackup/core/upgrade_runner.py index 6ee2faf..206afd4 100644 --- a/npbackup/core/upgrade_runner.py +++ b/npbackup/core/upgrade_runner.py @@ -20,12 +20,8 @@ logger = getLogger(__intname__) def run_upgrade(config_dict): try: auto_upgrade_upgrade_url = config_dict["options"]["server_url"] - auto_upgrade_username = config_dict["options"][ - "server_username" - ] - auto_upgrade_password = config_dict["options"][ - "server_password" - ] + auto_upgrade_username = config_dict["options"]["server_username"] + auto_upgrade_password = config_dict["options"]["server_password"] except KeyError as exc: logger.error("Missing auto upgrade info: %s, cannot launch auto upgrade", exc) return False @@ -35,4 +31,4 @@ def run_upgrade(config_dict): username=auto_upgrade_username, password=auto_upgrade_password, ) - return result \ No newline at end of file + return result diff --git a/npbackup/gui/config.py b/npbackup/gui/config.py index 4fb34c3..38fa5be 100644 --- a/npbackup/gui/config.py +++ b/npbackup/gui/config.py @@ -324,11 +324,51 @@ def config_gui(config_dict: dict, config_file: str): ] tab_group_layout = [ - [sg.Tab(_t("config_gui.backup"), backup_col, font="helvetica 16", key="--tab-backup--", element_justification='C')], - [sg.Tab(_t("config_gui.backup_destination"),repo_col, font="helvetica 16", key="--tab-repo--", element_justification='C')], - [sg.Tab(_t("config_gui.prometheus_config"), prometheus_col, font="helvetica 16", key="--tab-prometheus--", element_justification='C')], - [sg.Tab(_t("config_gui.environment_variables"), env_col, font="helvetica 16", key="--tab-env--", element_justification='C')], - [sg.Tab(_t("generic.options"), options_col, font="helvetica 16", key="--tab-options--", element_justification='C')], + [ + sg.Tab( + _t("config_gui.backup"), + backup_col, + font="helvetica 16", + key="--tab-backup--", + element_justification="C", + ) + ], + [ + sg.Tab( + _t("config_gui.backup_destination"), + repo_col, + font="helvetica 16", + key="--tab-repo--", + element_justification="C", + ) + ], + [ + sg.Tab( + _t("config_gui.prometheus_config"), + prometheus_col, + font="helvetica 16", + key="--tab-prometheus--", + element_justification="C", + ) + ], + [ + sg.Tab( + _t("config_gui.environment_variables"), + env_col, + font="helvetica 16", + key="--tab-env--", + element_justification="C", + ) + ], + [ + sg.Tab( + _t("generic.options"), + options_col, + font="helvetica 16", + key="--tab-options--", + element_justification="C", + ) + ], ] layout = [ @@ -336,7 +376,6 @@ def config_gui(config_dict: dict, config_file: str): [sg.Column(buttons, element_justification="C")], ] - window = sg.Window( "Configuration", layout, diff --git a/npbackup/gui/main.py b/npbackup/gui/main.py index 33ab329..b312eef 100644 --- a/npbackup/gui/main.py +++ b/npbackup/gui/main.py @@ -55,21 +55,27 @@ def _about_gui(version_string: str, config_dict: dict) -> None: layout = [ [sg.Text(version_string)], [ - sg.Button(_t("config_gui.auto_upgrade_launch"), key="autoupgrade", size=(12, 2)) + sg.Button( + _t("config_gui.auto_upgrade_launch"), key="autoupgrade", size=(12, 2) + ) ], [sg.Text("License: GNU GPLv3")], [sg.Multiline(license_content, size=(65, 20))], [sg.Button(_t("generic.accept"), key="exit")], ] - window = sg.Window(_t("generic.about"), layout, keep_on_top=True, element_justification='C') + window = sg.Window( + _t("generic.about"), layout, keep_on_top=True, element_justification="C" + ) while True: event, _ = window.read() if event in [sg.WIN_CLOSED, "exit"]: break elif event == "autoupgrade": - result = sg.PopupOKCancel(_t("config_gui.auto_ugprade_will_quit"), keep_on_top=True) - if result == 'OK': + result = sg.PopupOKCancel( + _t("config_gui.auto_ugprade_will_quit"), keep_on_top=True + ) + if result == "OK": logger.info("Running GUI initiated upgrade") sub_result = run_upgrade(config_dict) if sub_result: diff --git a/npbackup/upgrade_client/upgrader.py b/npbackup/upgrade_client/upgrader.py index 74a061c..cf4a4e3 100644 --- a/npbackup/upgrade_client/upgrader.py +++ b/npbackup/upgrade_client/upgrader.py @@ -40,7 +40,7 @@ def sha256sum_data(data): def need_upgrade(upgrade_interval: int) -> bool: """ Basic counter which allows an upgrade only every X times this is called so failed operations won't end in an endless upgrade loop - + We need to make to select a write counter file that is writable So we actually test a local file and a temp file (less secure for obvious reasons) We just have to make sure that once we can write to one file, we stick to it unless proven otherwise @@ -48,11 +48,11 @@ def need_upgrade(upgrade_interval: int) -> bool: The for loop logic isn't straight simple, but allows file fallback """ # file counter, local, home, or temp if not available - counter_file = 'npbackup.autoupgrade.log' + counter_file = "npbackup.autoupgrade.log" def _write_count(file: str, counter: int) -> bool: try: - with open(file, 'w') as fpw: + with open(file, "w") as fpw: fpw.write(str(counter)) return True except OSError: @@ -61,7 +61,7 @@ def need_upgrade(upgrade_interval: int) -> bool: def _get_count(file: str) -> Optional[int]: try: - with open(file, 'r') as fpr: + with open(file, "r") as fpr: count = int(fpr.read()) return count except OSError: @@ -71,12 +71,13 @@ def need_upgrade(upgrade_interval: int) -> bool: logger.error("Bogus upgrade counter in %s", file) return None - - - for file in [os.path.join(CURRENT_DIR, counter_file), os.path.join(tempfile.gettempdir(), counter_file)]: + for file in [ + os.path.join(CURRENT_DIR, counter_file), + os.path.join(tempfile.gettempdir(), counter_file), + ]: if not os.path.isfile(file): if _write_count(file, 1): - logger.debug('Initial upgrade counter written to %s', file) + logger.debug("Initial upgrade counter written to %s", file) else: logger.debug("Cannot write to upgrade counter file %s", file) continue @@ -175,7 +176,16 @@ def auto_upgrader(upgrade_url: str, username: str, password: str) -> bool: # Actual upgrade process new_executable = os.path.join(CURRENT_DIR, os.path.basename(CURRENT_EXECUTABLE)) cmd = 'del "{}" > "{}" && move "{}" "{}" >> "{}" && del "{}" >> "{}" && "{}" --upgrade-conf >> "{}"'.format( - CURRENT_EXECUTABLE, log_file, executable, log_file, new_executable, log_file, executable, log_file, new_executable, log_file + CURRENT_EXECUTABLE, + log_file, + executable, + log_file, + new_executable, + log_file, + executable, + log_file, + new_executable, + log_file, ) logger.info( "Launching upgrade. Current process will quit. Upgrade starts in %s seconds. Upgrade is done by OS logged in %s",