From d4cd8ba1091a4a5261659a6d91f84068573b744e Mon Sep 17 00:00:00 2001 From: ahmedk <karim.ahmed@xfel.eu> Date: Tue, 5 Sep 2023 20:42:32 +0200 Subject: [PATCH] add new script for renaming report folders --- .../useful_scripts/rename_report_folders.py | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 webservice/useful_scripts/rename_report_folders.py diff --git a/webservice/useful_scripts/rename_report_folders.py b/webservice/useful_scripts/rename_report_folders.py new file mode 100644 index 000000000..3f75a74f4 --- /dev/null +++ b/webservice/useful_scripts/rename_report_folders.py @@ -0,0 +1,38 @@ +import argparse +import os + +# Update runs into 4 digits integers e.g. r2 to r0002. + + +def rename_folders_in_directory(directory_path, really): + for folder_name in os.listdir(directory_path): + if folder_name.startswith('r') and folder_name[1:].isdigit(): + new_folder_name = 'r' + folder_name[1:].zfill(4) + old_path = os.path.join(directory_path, folder_name) + new_path = os.path.join(directory_path, new_folder_name) + if really: + os.rename(old_path, new_path) + print(f'Renamed {folder_name} to {new_folder_name}') + else: + print(f'Will rename {folder_name} to {new_folder_name}') + + +parser = argparse.ArgumentParser( + description='Rename run folders.') +parser.add_argument( + '--runs-directory', + type=str, + help='Directory path to the runs that needs to be renamed', + required=True, +) +parser.add_argument( + '--really', action='store_true', + help="Actually make changes (otherwise dry-run)") +args = parser.parse_args() + +if args.runs_directory: + runs_directory = args.runs_directory +else: + assert args.runs_directory, "Specify the runs directory" + +rename_folders_in_directory(runs_directory, args.really) -- GitLab