diff --git a/pyzebra/__init__.py b/pyzebra/__init__.py index e784895..07faae7 100644 --- a/pyzebra/__init__.py +++ b/pyzebra/__init__.py @@ -4,4 +4,8 @@ from pyzebra.h5 import * from pyzebra.xtal import * from pyzebra.ccl_process import * +ZEBRA_PROPOSALS_PATHS = [ + f"/afs/psi.ch/project/sinqdata/{year}/zebra/" for year in (2016, 2017, 2018, 2020, 2021) +] + __version__ = "0.3.2" diff --git a/pyzebra/app/panel_ccl_integrate.py b/pyzebra/app/panel_ccl_integrate.py index 63ec5af..2d41511 100644 --- a/pyzebra/app/panel_ccl_integrate.py +++ b/pyzebra/app/panel_ccl_integrate.py @@ -76,8 +76,14 @@ def create(): def proposal_textinput_callback(_attr, _old, new): proposal = new.strip() - year = new[:4] - proposal_path = f"/afs/psi.ch/project/sinqdata/{year}/zebra/{proposal}" + for zebra_proposals_path in pyzebra.ZEBRA_PROPOSALS_PATHS: + proposal_path = os.path.join(zebra_proposals_path, proposal) + if os.path.isdir(proposal_path): + # found it + break + else: + raise ValueError(f"Can not find data for proposal '{proposal}'.") + file_list = [] for file in os.listdir(proposal_path): if file.endswith((".ccl", ".dat")): diff --git a/pyzebra/app/panel_hdf_viewer.py b/pyzebra/app/panel_hdf_viewer.py index 54de421..079d9dd 100644 --- a/pyzebra/app/panel_hdf_viewer.py +++ b/pyzebra/app/panel_hdf_viewer.py @@ -55,8 +55,14 @@ def create(): def proposal_textinput_callback(_attr, _old, new): proposal = new.strip() - year = new[:4] - proposal_path = f"/afs/psi.ch/project/sinqdata/{year}/zebra/{proposal}" + for zebra_proposals_path in pyzebra.ZEBRA_PROPOSALS_PATHS: + proposal_path = os.path.join(zebra_proposals_path, proposal) + if os.path.isdir(proposal_path): + # found it + break + else: + raise ValueError(f"Can not find data for proposal '{proposal}'.") + file_list = [] for file in os.listdir(proposal_path): if file.endswith(".hdf"): diff --git a/pyzebra/app/panel_param_study.py b/pyzebra/app/panel_param_study.py index ea265af..9ad284f 100644 --- a/pyzebra/app/panel_param_study.py +++ b/pyzebra/app/panel_param_study.py @@ -81,8 +81,14 @@ def create(): def proposal_textinput_callback(_attr, _old, new): proposal = new.strip() - year = new[:4] - proposal_path = f"/afs/psi.ch/project/sinqdata/{year}/zebra/{proposal}" + for zebra_proposals_path in pyzebra.ZEBRA_PROPOSALS_PATHS: + proposal_path = os.path.join(zebra_proposals_path, proposal) + if os.path.isdir(proposal_path): + # found it + break + else: + raise ValueError(f"Can not find data for proposal '{proposal}'.") + file_list = [] for file in os.listdir(proposal_path): if file.endswith((".ccl", ".dat")):