gen_graphs.py 文件源码

python
阅读 18 收藏 0 点赞 0 评论 0

项目:caproto 作者: NSLS-II 项目源码 文件源码
def create_transition_graph(d, role, format_):
    graph = gv.Digraph(format=format_)
    for node in d:
        node_name = to_node_name(node)
        graph.node(node_name, label=node_name)

    self_transitions = defaultdict(lambda: [])

    for source, transitions in d.items():
        source_name = to_node_name(source)
        for received, dest in transitions.items():
            dest_name = to_node_name(dest)
            received_name = to_node_name(received)
            if source_name == dest_name:
                self_transitions[source_name].append(received_name)
                continue

            graph.edge(source_name, dest_name,
                       label=received_name)

    for node_name, received_list in self_transitions.items():
        graph.edge(node_name, node_name, label=' / '.join(received_list))
    return graph
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号