diff --git a/csst_common/data_manager.py b/csst_common/data_manager.py index 035081f2275117446200d246b3732b2a8c37690e..11e42ae0b42b5140913684910fe9b983786604a8 100644 --- a/csst_common/data_manager.py +++ b/csst_common/data_manager.py @@ -23,7 +23,6 @@ from astropy.table import Table from .dfs import gaia_query_from_dfs, get_l1api from .params import CSST_PARAMS as CP from .params import DFS_CONF -from .utils import remove_dir class CsstMsDataManager: @@ -201,18 +200,6 @@ class CsstMsDataManager: os.environ["LD_LIBRARY_PATH"] = "" os.environ["AXE_BINDIR"] = "" - @property - def dfs_node(self): - return self._dfs_node - - @dfs_node.setter - def dfs_node(self, dfs_node): - # for DFS configuration, defaults to "local", could be "pml" - assert dfs_node in DFS_CONF.keys() - self._dfs_node = dfs_node - for k, v in DFS_CONF[dfs_node].items(): - os.environ[k] = v - @property def target_detectors(self): return self._target_detectors @@ -480,26 +467,6 @@ class CsstMsDataManager: ver_sim=ver_sim, datatype=datatype, dir_l0=dir_l0, dir_l1=dir_l1, path_aux=path_aux, dfs_mode=dfs_mode, dfs_node=dfs_node) - def query_rc(self, ra=180, dec=0, radius=2, min_mag=0, max_mag=30, obstime=-1, limit=-1): - """ Query Reference Catalog (RC) from DFS """ - try: - tbl = gaia_query_from_dfs( - ra=ra, dec=dec, radius=radius, min_mag=min_mag, max_mag=max_mag, obstime=obstime, limit=limit) - return tbl - except: - print("Error occurred during the query!") - return None - - @property - def dfs_available(self): - """ Test if DFS works. """ - try: - tbl = gaia_query_from_dfs(radius=0.001) - assert len(tbl) == 0 - return True - except: - return False - def __repr__(self): lines = "" lines += "\n" @@ -515,13 +482,60 @@ class CsstMsDataManager: return lines def remove_files(self, fmt="*.fits"): + """ Remove L1 files conforming the format. """ os.system(f"rm -rf {os.path.join(self.dir_l1, fmt)}") - @staticmethod - def remove_dir(path): - remove_dir(path) + def remove_dir(self, dir_name): + """ Remove L1 (sub-)directory. """ + os.system(f"rm -rf {os.path.join(self.dir_l1, dir_name)}") + + # DFS interfaces + @property + def dfs_node(self): + return self._dfs_node + + @dfs_node.setter + def dfs_node(self, dfs_node): + # for DFS configuration, defaults to "local", could be "pml" + assert dfs_node in DFS_CONF.keys() + self._dfs_node = dfs_node + for k, v in DFS_CONF[dfs_node].items(): + os.environ[k] = v - def dfs_push_l1(self): - l1api = get_l1api() - l1api.write() + @property + def dfs_is_available(self): + """ Test if DFS works. """ + try: + tbl = gaia_query_from_dfs(radius=0.001) + assert len(tbl) == 0 + return True + except: + return False + + def dfs_rc_query(self, ra=180, dec=0, radius=2, min_mag=0, max_mag=30, obstime=-1, limit=-1): + """ Query Reference Catalog (RC) from DFS. """ + try: + tbl = gaia_query_from_dfs( + ra=ra, dec=dec, radius=radius, min_mag=min_mag, max_mag=max_mag, obstime=obstime, limit=limit) + return tbl + except: + print("Error occurred during the query!") + return None + + def dfs_l1_push(self): + """ Push MBI/SLS L1 data to DFS. """ + # l1api = get_l1api() + # l1api.write() return + + def dfs_l2_push(self): + """ Push SLS spectra to DFS. """ + pass + + def dfs_l0_query(self): + """ Query L0 data from DFS. """ + pass + + def dfs_l1_query(self): + """ Query L1 data from DFS. """ + pass