Created
April 1, 2022 16:16
-
-
Save Kvieta1990/8dd5e86667b83ce2b231059cb4f1289a to your computer and use it in GitHub Desktop.
Auto data confirmation in autoreduction routine
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# >>>>> Confirm data availability >>>>>>>>>>>>>>>> | |
directory = os.path.join("/SNS/PG3/", ipts, "shared/autoreduce/reduction_log/") | |
if os.path.isdir(directory): | |
all_list = [] | |
failure_list = [] | |
for filename_check in os.listdir(directory): | |
if ".err" in filename_check: | |
if os.stat(os.path.join(directory, filename_check)).st_size != 0: | |
failure_list.append(filename_check.split("_")[1].split(".")[0]) | |
if ".log" in filename_check: | |
all_list.append(filename_check.split("_")[1].split(".")[0]) | |
if len(all_list) == 0: | |
# Confirm data -> Unknown | |
print("[Confirm data info] No valid data found. Thus confirmed 'Unknown'.") | |
confirm_output = subprocess.run(["/SNS/software/nses/bin/confirm-data", "BL-11A", ipts.split("-")[1], "1", "Auto", "-s", "Unknown"]) | |
print("[Confirm data info] Data confirmation output,") | |
print(confirm_output) | |
else: | |
if len(failure_list) == 0: | |
# Confirm data -> Yes | |
print("[Confirm data info] All data processed successfully. Thus confirmed 'Yes'.") | |
confirm_output = subprocess.run(["/SNS/software/nses/bin/confirm-data", "BL-11A", ipts.split("-")[1], "1", "Auto", "-s", "Partially"]) | |
print("[Confirm data info] Data confirmation output,") | |
print(confirm_output) | |
else: | |
if len(failure_list) < len(all_list): | |
# Confirm data -> Partially | |
print("[Confirm data info] Failures encountered in processing certain runs. Thus confirmed 'Partially'.") | |
print("[Confirm data info] List of failing runs:") | |
print("[Confirm data info] ", failure_list) | |
confirm_output = subprocess.run(["/SNS/software/nses/bin/confirm-data", "BL-11A", ipts.split("-")[1], "1", "Auto", "-s", "Partially"]) | |
print("[Confirm data info] Data confirmation output,") | |
print(confirm_output) | |
else: | |
# Confirm data -> No | |
print("[Confirm data info] All data processing failed. Thus confirmed 'No'.") | |
print("[Confirm data info] Data confirmation output,") | |
confirm_output = subprocess.run(["/SNS/software/nses/bin/confirm-data", "BL-11A", ipts.split("-")[1], "1", "Auto", "-s", "No"]) | |
print(confirm_output) | |
else: | |
print("[Confirm data error] For some reason, the 'reduction_log' directory cannot be found for") | |
print("[Confirm data error] " + ipts + ". Thus skipping data confirmation.") | |
# <<<<< Confirm data availability <<<<<<<<<<<<<<<< |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment