Exemple #1
0
    def __init__(self, desc):
        Digraph.__init__(self, format = "gif")
        self.desc = desc 
        for i, val in enumerate(desc["places"]):
            self.node('p'+str(i), "{"+val["type"][0] + "|" + val["token"] + "}", shape="record")

        # on crée les places et les arcs
        for i, val in enumerate(desc["transitions"]):
            if i in self.desc["launchables"]:
                color = "red"
            else :
                color = "black"
            
            tname = 't'+str(i)
            self.node(tname, color = color)
            for valbis in val["dep_places"]:
                self.edge('p'+str(valbis[0]), tname, color = color)

            for valbis in val["arr_places"]:
                self.edge(tname, 'p'+str(valbis[0]), color = color)