from ._base_dag import BaseDAG from ._dag_list import DAG_LIST from .l1 import GeneralL1DAG class CsstDAGs(dict): """ A class to manage all DAGs. """ 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"), } def __init__(self): super().__init__() # 初始化空字典 self.update(self.dag_list) # 先添加默认键值对 # self.update(*args, **kwargs) # 用户传入值覆盖默认值 @staticmethod def ls(): print(DAG_LIST.keys()) @staticmethod def get_dag(self, dag: str = ""): assert dag in DAG_LIST, f"{dag} not in DAG_LIST" return self.get(dag, None) @staticmethod def get_all(self): return set(self.keys())