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

replace attribute with property for DFS APIs

parent 6d4d2d9d
Loading
Loading
Loading
Loading
+31 −6
Original line number Diff line number Diff line
@@ -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))