mirror of
https://github.com/borgbackup/borg.git
synced 2024-12-23 08:16:54 +00:00
key export: fix exception handling
export_paperkey also must not get an already existing directory.
This commit is contained in:
parent
5eecdfa133
commit
4e6238e7d3
1 changed files with 13 additions and 14 deletions
|
@ -93,20 +93,19 @@ def do_key_export(self, args, repository):
|
|||
"""Export the repository key for backup"""
|
||||
manager = KeyManager(repository)
|
||||
manager.load_keyblob()
|
||||
if args.paper:
|
||||
manager.export_paperkey(args.path)
|
||||
else:
|
||||
try:
|
||||
if args.path is not None and os.path.isdir(args.path):
|
||||
# on Windows, Python raises PermissionError instead of IsADirectoryError
|
||||
# (like on Unix) if the file to open is actually a directory.
|
||||
raise IsADirectoryError
|
||||
if args.qr:
|
||||
manager.export_qr(args.path)
|
||||
else:
|
||||
manager.export(args.path)
|
||||
except IsADirectoryError:
|
||||
raise CommandError(f"'{args.path}' must be a file, not a directory")
|
||||
try:
|
||||
if args.path is not None and os.path.isdir(args.path):
|
||||
# on Windows, Python raises PermissionError instead of IsADirectoryError
|
||||
# (like on Unix) if the file to open is actually a directory.
|
||||
raise IsADirectoryError
|
||||
if args.paper:
|
||||
manager.export_paperkey(args.path)
|
||||
elif args.qr:
|
||||
manager.export_qr(args.path)
|
||||
else:
|
||||
manager.export(args.path)
|
||||
except IsADirectoryError:
|
||||
raise CommandError(f"'{args.path}' must be a file, not a directory")
|
||||
|
||||
@with_repository(lock=False, exclusive=False, manifest=False, cache=False)
|
||||
def do_key_import(self, args, repository):
|
||||
|
|
Loading…
Reference in a new issue