diff --git a/csst_common/data_manager.py b/csst_common/data_manager.py index e9dea92619004bb1c678fe237a56e28622499965..ef3ac4e9628439fd292ae053d7f7582dc7783a0f 100644 --- a/csst_common/data_manager.py +++ b/csst_common/data_manager.py @@ -814,6 +814,24 @@ class CsstMsDataManager: ): pass + @staticmethod + def link_data(obs_id="100000100", dfs_root="/dfsroot", dir_l0="/L1Pipeline/L0"): + # query for L0 data + print(f"Query obs_id={obs_id} ...", end="") + recs = Level0DataApi().find(obs_id=obs_id) + print(f"{recs['totalCount']} records obtained!") + assert recs["code"] == 0 + assert recs["totalCount"] > 0 + + # make symbolic links + print("Making symbolic links ...") + for rec in recs: + os.symlink( + src=os.path.join(dfs_root, rec.file_path), + dst=os.path.join(dir_l0, os.path.basename(rec.file_path)), + ) + + @staticmethod def from_dfs( obs_id="100000100",