From 5887a273cfe491c89067374f26c74a195f6c3f99 Mon Sep 17 00:00:00 2001 From: deajan Date: Fri, 4 Apr 2025 17:31:45 +0200 Subject: [PATCH] !fixup: Cleanup version_parse code --- npbackup/__version__.py | 2 +- npbackup/configuration.py | 39 ++++++-------------------------------- npbackup/key_management.py | 35 +++++++++++++++++++++++++++++++++- 3 files changed, 41 insertions(+), 35 deletions(-) diff --git a/npbackup/__version__.py b/npbackup/__version__.py index 5162870..746c9b3 100644 --- a/npbackup/__version__.py +++ b/npbackup/__version__.py @@ -17,7 +17,7 @@ import sys import psutil from ofunctions.platform import python_arch, get_os import npbackup.__env__ -from npbackup.configuration import IS_PRIV_BUILD +from npbackup.key_management import IS_PRIV_BUILD from npbackup.core.nuitka_helper import IS_COMPILED diff --git a/npbackup/configuration.py b/npbackup/configuration.py index 62fc14c..0c712db 100644 --- a/npbackup/configuration.py +++ b/npbackup/configuration.py @@ -10,8 +10,6 @@ __license__ = "GPL-3.0-only" __build__ = "2025040401" __version__ = "npbackup 3.0.0+" -MIN_CONF_VERSION = "3.0" -from npbackup.__version__ import __version__ as MAX_CONF_VERSION from typing import Tuple, Optional, List, Any, Union import sys @@ -30,43 +28,18 @@ from cryptidy import symmetric_encryption as enc from ofunctions.random import random_string from ofunctions.misc import replace_in_iterable, BytesConverter, iter_over_keys from resources.customization import ID_STRING -from npbackup import key_management +from npbackup.key_management import AES_KEY, EARLIER_AES_KEY, IS_PRIV_BUILD, get_aes_key + + +MIN_CONF_VERSION = "3.0" +from npbackup.__version__ import __version__ as MAX_CONF_VERSION sys.path.insert(0, os.path.normpath(os.path.join(os.path.dirname(__file__), ".."))) -# Try to import a private key, if not available, fallback to the default key -try: - from PRIVATE._private_secret_keys import AES_KEY - from PRIVATE._obfuscation import obfuscation - - AES_KEY = obfuscation(AES_KEY) - IS_PRIV_BUILD = True - try: - from PRIVATE._private_secret_keys import EARLIER_AES_KEY - - EARLIER_AES_KEY = obfuscation(EARLIER_AES_KEY) - except ImportError: - EARLIER_AES_KEY = None -except ImportError: - # If no private keys are used, then let's use the public ones - try: - from npbackup.secret_keys import AES_KEY - from npbackup.obfuscation import obfuscation - - AES_KEY = obfuscation(AES_KEY) - IS_PRIV_BUILD = False - try: - from npbackup.secret_keys import EARLIER_AES_KEY - except ImportError: - EARLIER_AES_KEY = None - except ImportError: - print("No secret_keys file. Please read documentation.") - sys.exit(1) - logger = getLogger() -opt_aes_key = key_management.get_aes_key() +opt_aes_key = get_aes_key() if opt_aes_key: AES_KEY = opt_aes_key diff --git a/npbackup/key_management.py b/npbackup/key_management.py index 5e440cf..d125e2e 100644 --- a/npbackup/key_management.py +++ b/npbackup/key_management.py @@ -3,19 +3,52 @@ # # This file is part of npbackup -__intname__ = "npbackup.get_key" +__intname__ = "npbackup.key_management" +import sys import os from logging import getLogger from command_runner import command_runner from cryptidy.symmetric_encryption import generate_key from npbackup.obfuscation import obfuscation +sys.path.insert(0, os.path.normpath(os.path.join(os.path.dirname(__file__), ".."))) + logger = getLogger() +# Try to import a private key, if not available, fallback to the default key +try: + from PRIVATE._private_secret_keys import AES_KEY + from PRIVATE._obfuscation import obfuscation + + AES_KEY = obfuscation(AES_KEY) + IS_PRIV_BUILD = True + try: + from PRIVATE._private_secret_keys import EARLIER_AES_KEY + + EARLIER_AES_KEY = obfuscation(EARLIER_AES_KEY) + except ImportError: + EARLIER_AES_KEY = None +except ImportError: + # If no private keys are used, then let's use the public ones + try: + from npbackup.secret_keys import AES_KEY + from npbackup.obfuscation import obfuscation + + AES_KEY = obfuscation(AES_KEY) + IS_PRIV_BUILD = False + try: + from npbackup.secret_keys import EARLIER_AES_KEY + except ImportError: + EARLIER_AES_KEY = None + except ImportError: + print("No secret_keys file. Please read documentation.") + sys.exit(1) + + def get_aes_key(): """ Get encryption key from environment variable or file