#!/usr/bin/env python from benchmark_utils import backup, copy, clean, get_default_argparser from benchmark_utils import create_random_subfolder, benchmark_command from benchmark_utils import get_transfer_command def benchmark_mv(args): destination = args.destination if args.recursive: destination = create_random_subfolder(destination) command = 'mv %s %s' % (args.source, destination) command = get_transfer_command(command, args.recursive, args.quiet) backup_path = backup(args.source, args.recursive) def cleanup(): if not args.no_cleanup: clean(destination, args.recursive) clean(backup_path, args.recursive) def upkeep(): clean(args.source, args.recursive) copy(backup_path, args.source, args.recursive) benchmark_command( command, args.benchmark_script, args.summarize_script, args.result_dir, args.num_iterations, args.dry_run, upkeep=upkeep, cleanup=cleanup ) if __name__ == "__main__": parser = get_default_argparser() parser.add_argument( '-s', '--source', required=True, help='A local path or s3 path.' ) parser.add_argument( '-d', '--destination', required=True, help='A local path or s3 path. A directory will be created in this ' 'location to move to in the case of a recursive transfer.' ) benchmark_mv(parser.parse_args())