From 8fa10b3c4d2da489181fedcb76ffbd263ae848c3 Mon Sep 17 00:00:00 2001 From: Abigail Giles Date: Wed, 1 Apr 2026 13:53:13 -0400 Subject: [PATCH 1/3] Add xas and xrfmaps subdirs for export --- xanes_exporter.py | 22 ++++++++++++---------- xrf_hdf5_exporter.py | 14 ++++++-------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/xanes_exporter.py b/xanes_exporter.py index 248a433..47e73c7 100644 --- a/xanes_exporter.py +++ b/xanes_exporter.py @@ -4,6 +4,11 @@ import numpy as np import xraylib as xrl import pandas as pd +from pathlib import Path + + +def create_subdir(path): + Path(path).mkdir(parents=True, exist_ok=True) def xanes_textout( @@ -30,13 +35,9 @@ def xanes_textout( """ h = get_run(scanid, api_key=api_key) - if ( - "Beamline Commissioning (beamline staff only)".lower() - in h.start["proposal"]["type"].lower() - ): - filepath = f"/nsls2/data/srx/proposals/commissioning/{h.start['data_session']}/scan_{h.start['scan_id']}_xanes.txt" - else: - filepath = f"/nsls2/data/srx/proposals/{h.start['cycle']}/{h.start['data_session']}/scan_{h.start['scan_id']}_xanes.txt" # noqa: E501 + filepath = f"/nsls2/data/srx/proposals/{h.start['cycle']}/{h.start['data_session']}/xas/scan_{h.start['scan_id']}_xanes.txt" # noqa: E501 + + create_subdir(Path(filepath).parent) with open(filepath, "w") as f: dataset_client = h["primary"]["data"] @@ -233,9 +234,10 @@ def xas_fly_exporter(uid, api_key=None, dry_run=False): start_doc = hdr.start # Get proposal directory location - is_commissioning = "beamline commissioning" in start_doc["proposal"]["type"].lower() - cycle = "commissioning" if is_commissioning else start_doc["cycle"] - root = f"/nsls2/data/srx/proposals/{cycle}/{start_doc['data_session']}/" + cycle = start_doc["cycle"] + root = f"/nsls2/data/srx/proposals/{cycle}/{start_doc['data_session']}/xas/" + + create_subdir(root) # Identify scan streams scan_streams = [s for s in hdr if s != "baseline" and "monitor" not in s] diff --git a/xrf_hdf5_exporter.py b/xrf_hdf5_exporter.py index 53fbc63..3ccbcf1 100644 --- a/xrf_hdf5_exporter.py +++ b/xrf_hdf5_exporter.py @@ -8,6 +8,7 @@ from pyxrf.api import make_hdf from data_validation import get_run +from xanes_exporter import create_subdir # from pyxrf.api import make_hdf @@ -43,14 +44,11 @@ def export_xrf_hdf5(scanid, api_key=None, dry_run=False): ) return - if "SRX Beamline Commissioning".lower() in h.start["proposal"]["title"].lower(): - working_dir = ( - f"/nsls2/data/srx/proposals/commissioning/{h.start['data_session']}" - ) - else: - working_dir = ( - f"/nsls2/data/srx/proposals/{h.start['cycle']}/{h.start['data_session']}" # noqa: E501 - ) + working_dir = ( + f"/nsls2/data/srx/proposals/{h.start['cycle']}/{h.start['data_session']}/xrfmaps" # noqa: E501 + ) + + create_subdir(working_dir) os.umask(0o007) # Read/write access for user and group only From 5e8deafeb3f654da7d71076bdf77d406ab1e6f07 Mon Sep 17 00:00:00 2001 From: Abigail Giles Date: Wed, 1 Apr 2026 13:58:59 -0400 Subject: [PATCH 2/3] Linter fix --- xrf_hdf5_exporter.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/xrf_hdf5_exporter.py b/xrf_hdf5_exporter.py index 3ccbcf1..fcdecc4 100644 --- a/xrf_hdf5_exporter.py +++ b/xrf_hdf5_exporter.py @@ -44,9 +44,7 @@ def export_xrf_hdf5(scanid, api_key=None, dry_run=False): ) return - working_dir = ( - f"/nsls2/data/srx/proposals/{h.start['cycle']}/{h.start['data_session']}/xrfmaps" # noqa: E501 - ) + working_dir = (f"/nsls2/data/srx/proposals/{h.start['cycle']}/{h.start['data_session']}/xrfmaps") # noqa: E501 create_subdir(working_dir) From cc8aeb8f25e2fb22d1790800230c2cffd6b4875d Mon Sep 17 00:00:00 2001 From: Abigail Giles Date: Wed, 1 Apr 2026 14:00:07 -0400 Subject: [PATCH 3/3] Another linter fix --- xrf_hdf5_exporter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xrf_hdf5_exporter.py b/xrf_hdf5_exporter.py index fcdecc4..0ea70c7 100644 --- a/xrf_hdf5_exporter.py +++ b/xrf_hdf5_exporter.py @@ -44,7 +44,7 @@ def export_xrf_hdf5(scanid, api_key=None, dry_run=False): ) return - working_dir = (f"/nsls2/data/srx/proposals/{h.start['cycle']}/{h.start['data_session']}/xrfmaps") # noqa: E501 + working_dir = f"/nsls2/data/srx/proposals/{h.start['cycle']}/{h.start['data_session']}/xrfmaps" # noqa: E501 create_subdir(working_dir)