mirror of
https://github.com/volatilityfoundation/volatility3.git
synced 2026-08-30 19:59:46 +02:00
CLI: Fail on overwriting a config file
This commit is contained in:
@@ -324,18 +324,13 @@ class CommandLine:
|
||||
constructed = plugins.construct_plugin(ctx, automagics, plugin, base_config_path, progress_callback,
|
||||
self.file_handler_class_factory())
|
||||
|
||||
backup_filename = constants.BACKUP_EXISTING_CONFIG_OUTPUT
|
||||
if args.write_config:
|
||||
vollog.warning('Use of --write-config has been deprecated, replaced by --save-config <filename>')
|
||||
args.save_config = 'config.json'
|
||||
backup_filename = False
|
||||
if args.save_config:
|
||||
vollog.debug("Writing out configuration data to {args.save_config}")
|
||||
if os.path.exists(os.path.abspath(args.save_config)) and backup_filename:
|
||||
# Backup existing file
|
||||
backup_filename = self.find_backup_filename(args.save_config)
|
||||
vollog.debug(f"Backing up existing file to {backup_filename}")
|
||||
os.rename(args.save_config, backup_filename)
|
||||
if os.path.exists(os.path.abspath(args.save_config)):
|
||||
parser.error(f"Cannot write configuration: file {args.save_config} already exists")
|
||||
with open(args.save_config, "w") as f:
|
||||
json.dump(dict(constructed.build_configuration()), f, sort_keys = True, indent = 2)
|
||||
except exceptions.UnsatisfiedException as excp:
|
||||
|
||||
@@ -237,18 +237,13 @@ class VolShell(cli.CommandLine):
|
||||
constructed = plugins.construct_plugin(ctx, automagics, plugin, base_config_path, progress_callback,
|
||||
self.file_handler_class_factory())
|
||||
|
||||
backup_filename = constants.BACKUP_EXISTING_CONFIG_OUTPUT
|
||||
if args.write_config:
|
||||
vollog.warning('Use of --write-config has been deprecated, replaced by --save-config <filename>')
|
||||
args.save_config = 'config.json'
|
||||
backup_filename = False
|
||||
if args.save_config:
|
||||
vollog.debug("Writing out configuration data to {args.save_config}")
|
||||
if os.path.exists(os.path.abspath(args.save_config)) and backup_filename:
|
||||
# Backup existing file
|
||||
backup_filename = self.find_backup_filename(args.save_config)
|
||||
vollog.debug(f"Backing up existing file to {backup_filename}")
|
||||
os.rename(args.save_config, backup_filename)
|
||||
if os.path.exists(os.path.abspath(args.save_config)):
|
||||
parser.error(f"Cannot write configuration: file {args.save_config} already exists")
|
||||
with open(args.save_config, "w") as f:
|
||||
json.dump(dict(constructed.build_configuration()), f, sort_keys = True, indent = 2)
|
||||
except exceptions.UnsatisfiedException as excp:
|
||||
|
||||
Reference in New Issue
Block a user