__init__.py 1.22 KB
Newer Older
BO ZHANG's avatar
tweaks  
BO ZHANG committed
1
2
from ._base_dag import BaseDAG
from ._dag_list import DAG_LIST
BO ZHANG's avatar
BO ZHANG committed
3
from .l1 import GeneralL1DAG
BO ZHANG's avatar
tweaks  
BO ZHANG committed
4
5


BO ZHANG's avatar
BO ZHANG committed
6
7
8
9
class CsstDAGs(dict):
    """
    A class to manage all DAGs.
    """
BO ZHANG's avatar
tweaks  
BO ZHANG committed
10

BO ZHANG's avatar
BO ZHANG committed
11
12
13
14
15
16
17
18
19
    dag_list = {
        "csst-msc-l1-qc0": GeneralL1DAG(dag_group="msc-l1", dag="csst-msc-l1-qc0"),
        "csst-msc-l1-mbi": GeneralL1DAG(dag_group="msc-l1", dag="csst-msc-l1-mbi"),
        "csst-msc-l1-ast": GeneralL1DAG(dag_group="msc-l1", dag="csst-msc-l1-ast"),
        "csst-msc-l1-sls": GeneralL1DAG(dag_group="msc-l1", dag="csst-msc-l1-sls"),
        "csst-msc-l1-ooc": GeneralL1DAG(dag_group="msc-l1", dag="csst-msc-l1-ooc"),
        "csst-cpic-l1": GeneralL1DAG(dag_group="cpic-l1", dag="csst-cpic-l1"),
        "csst-cpic-l1-qc0": GeneralL1DAG(dag_group="cpic-l1", dag="csst-cpic-l1-qc0"),
    }
BO ZHANG's avatar
tweaks  
BO ZHANG committed
20
21

    def __init__(self):
BO ZHANG's avatar
BO ZHANG committed
22
23
24
        super().__init__()  # 初始化空字典
        self.update(self.dag_list)  # 先添加默认键值对
        # self.update(*args, **kwargs)  # 用户传入值覆盖默认值
BO ZHANG's avatar
tweaks  
BO ZHANG committed
25
26
27

    @staticmethod
    def ls():
BO ZHANG's avatar
BO ZHANG committed
28
        print(DAG_LIST.keys())
BO ZHANG's avatar
tweaks  
BO ZHANG committed
29
30

    @staticmethod
BO ZHANG's avatar
BO ZHANG committed
31
32
33
    def get_dag(dag: str = ""):
        assert dag in DAG_LIST, f"{dag} not in DAG_LIST"
        return DAG_LIST[dag]
BO ZHANG's avatar
tweaks  
BO ZHANG committed
34

BO ZHANG's avatar
BO ZHANG committed
35
36
    @staticmethod
    def get_all():
BO ZHANG's avatar
BO ZHANG committed
37
        return DAG_LIST