Reverted back to only using environment variables

This commit is contained in:
Roger Gonzalez 2024-02-20 11:15:18 -03:00
parent 57ce4a90e6
commit 844202f960
Signed by: rogs
GPG Key ID: C7ECE9C6C36EC2E6
2 changed files with 11 additions and 8 deletions

View File

@ -3,7 +3,6 @@ import logging
import os import os
import re import re
import subprocess import subprocess
from datetime import datetime
from argparse import ArgumentParser from argparse import ArgumentParser
from typing import Dict, List, Optional from typing import Dict, List, Optional
@ -24,17 +23,13 @@ logging.basicConfig(
kp: Optional[PyKeePass] = None kp: Optional[PyKeePass] = None
NOW = datetime.now().strftime('%Y-%m-%d-%s')
DATABASE_PATH = f'/exports/vaultwarden-{NOW}.kdbx'
def bitwarden_to_keepass(args): def bitwarden_to_keepass(args):
global kp global kp
try: try:
kp = PyKeePass(DATABASE_PATH, password=args.database_password, keyfile=args.database_keyfile) kp = PyKeePass(args.database_path, password=args.database_password, keyfile=args.database_keyfile)
except FileNotFoundError: except FileNotFoundError:
logging.info('KeePass database does not exist, creating a new one.') logging.info('KeePass database does not exist, creating a new one.')
kp = create_database(DATABASE_PATH, password=args.database_password, keyfile=args.database_keyfile) kp = create_database(args.database_path, password=args.database_password, keyfile=args.database_keyfile)
except CredentialsError as e: except CredentialsError as e:
logging.error(f'Wrong password for KeePass database: {e}') logging.error(f'Wrong password for KeePass database: {e}')
return return
@ -191,6 +186,11 @@ parser.add_argument(
help='Session generated from bitwarden-cli (bw login)', help='Session generated from bitwarden-cli (bw login)',
**environ_or_required('BW_SESSION'), **environ_or_required('BW_SESSION'),
) )
parser.add_argument(
'--database-path',
help='Path to KeePass database. If database does not exists it will be created.',
**environ_or_required('DATABASE_PATH'),
)
parser.add_argument( parser.add_argument(
'--database-password', '--database-password',
help='Password for KeePass database', help='Password for KeePass database',

View File

@ -10,9 +10,12 @@ export BW_SESSION
BW_PATH="$(which bw)" BW_PATH="$(which bw)"
export BW_PATH export BW_PATH
DATABASE_PATH="/exports/$DATABASE_NAME"
export DATABASE_PATH
# Convert the VaultWarden data to a KeePass file # Convert the VaultWarden data to a KeePass file
bw sync bw sync
python3 bitwarden-to-keepass.py python3 bitwarden-to-keepass.py
bw lock bw lock
echo "KeePass file created successfully!" echo "KeePass file $DATABASE_NAME generated successfully"