Commit 27d931af authored by BO ZHANG's avatar BO ZHANG 🏀
Browse files

replace attribute with property for DFS APIs

parent 6d4d2d9d
......@@ -18,6 +18,7 @@ import os
import re
from typing import Union
import joblib
import numpy as np
from astropy.io import fits
from astropy.table import Table
......@@ -198,12 +199,6 @@ class CsstMsDataManager:
# DFS configuration
self.use_dfs = use_dfs
self.dfs_node = dfs_node
# DFS APIs
self.dfs_L0DataApi = Level0DataApi()
self.dfs_L1DataApi = Level1DataApi()
self.dfs_L2DataApi = Level2DataApi()
self.dfs_L0PrcApi = Level0PrcApi()
self.dfs_CalApi = CalMergeApi()
# data directory
self.dir_l0 = dir_l0
......@@ -233,6 +228,27 @@ class CsstMsDataManager:
if verbose:
self.logger_mod.info("logger_mod initialized")
# DFS APIs
@property
def dfs_L0DataApi(self):
return Level0DataApi()
@property
def dfs_L1DataApi(self):
return Level1DataApi()
@property
def dfs_L2DataApi(self):
return Level2DataApi()
@property
def dfs_L0PrcApi(self):
return Level0PrcApi()
@property
def dfs_CalApi(self):
return CalMergeApi()
def set_env(self):
""" set environment variables """
if os.uname()[1] == "dandelion":
......@@ -671,3 +687,12 @@ class CsstMsDataManager:
# temporarily compatible with old interface
CsstMbiDataManager = CsstMsDataManager
def test_dm():
import joblib
from csst_common.data_manager import CsstMsDataManager
dm = CsstMsDataManager(dfs_node="pml")
def f(dm, a=1):
print(a)
joblib.Parallel(n_jobs=10,)(joblib.delayed(f)(dm) for i in range(10))
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment