Skip to content
Snippets Groups Projects
Commit cb4fd7f5 authored by Karim Ahmed's avatar Karim Ahmed
Browse files

enable renaming all reports folders for all proposals

parent d4cd8ba1
No related branches found
No related tags found
1 merge request!884[Webservice] Use leading zeros in usr/Reports folders
import argparse import argparse
import os import os
from pathlib import Path
# Update runs into 4 digits integers e.g. r2 to r0002. # Update runs into 4 digits integers e.g. r2 to r0002.
def rename_folders_in_directory(directory_path, really): def rename_report_folders_for_instrument(directory_path, really):
for folder_name in os.listdir(directory_path): for folder_name in directory_path.glob("*/*/usr/Reports/*"):
if folder_name.startswith('r') and folder_name[1:].isdigit(): if folder_name.name.startswith('r') and folder_name.name[1:].isdigit():
new_folder_name = 'r' + folder_name[1:].zfill(4) new_folder_name = 'r' + folder_name.name[1:].zfill(4)
old_path = os.path.join(directory_path, folder_name) new_path = folder_name.parent.joinpath(new_folder_name)
new_path = os.path.join(directory_path, new_folder_name)
if really: if really:
os.rename(old_path, new_path) folder_name.rename(new_path)
print(f'Renamed {folder_name} to {new_folder_name}') print(f'Renamed {folder_name} to {new_folder_name}')
else: else:
print(f'Will rename {folder_name} to {new_folder_name}') print(f'Will rename {folder_name} to {new_folder_name}')
parser = argparse.ArgumentParser( parser = argparse.ArgumentParser(
description='Rename run folders.') description='Instrument to change the report folders for.')
parser.add_argument( parser.add_argument(
'--runs-directory', '--instrument',
type=str, type=str,
help='Directory path to the runs that needs to be renamed', help='instrument name',
required=True, required=True,
) )
parser.add_argument( parser.add_argument(
'--really', action='store_true', '--really', action='store_true',
help="Actually make changes (otherwise dry-run)") help="Actually make changes (otherwise dry-run)")
args = parser.parse_args() args = parser.parse_args()
instrument = args.instrument
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) path = "/gpfs/exfel/exp/{instrument}"
rename_report_folders_for_instrument(Path(path.format(instrument=instrument)), args.really)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment