New Addon

Google BK
This commit is contained in:
2023-04-23 18:17:03 +07:00
parent 1c7fd2b476
commit 702d080a1e
248 changed files with 72745 additions and 0 deletions
@@ -0,0 +1,31 @@
import os
import yaml
from ..config import Config, Setting
from ..exceptions import BackupPasswordKeyInvalid
from ..logger import getLogger
logger = getLogger(__name__)
class Password():
def __init__(self, config: Config):
self.config = config
def resolve(self, password=None):
if password is None:
password = self.config.get(Setting.BACKUP_PASSWORD)
if len(password) == 0:
return None
if password.startswith("!secret "):
if not os.path.isfile(self.config.get(Setting.SECRETS_FILE_PATH)):
raise BackupPasswordKeyInvalid()
with open(self.config.get(Setting.SECRETS_FILE_PATH)) as f:
secrets_yaml = yaml.load(f, Loader=yaml.SafeLoader)
key = password[len("!secret "):]
if key not in secrets_yaml:
raise BackupPasswordKeyInvalid()
return str(secrets_yaml[key])
else:
return password