Skip to content
Extraits de code Groupes Projets
toDot.py 1,17 Kio
#!/bin/env python3

import yaml

translate = {
    "che" : "ChevalerIIE",
    "com" : "ComplotIIstE",
    "fii" : "FIIPALE",
    "hur" : "HURRIICANE",
    "iik" : "IIKEA",
    "ani" : "L'ANiMALERie",
    "ove" : "OVERDRIIVE",
    "lab" : "Labyriinthe"
}

colors = {
    "che" : "#C50000",
    "com" : "#39AA30",
    "fii" : "#0C631E",
    "hur" : "#6AD5CF",
    "iik" : "#1B56D3",
    "ani" : "#FF00FF",
    "ove" : "#EF7A37",
    "lab" : "#CF9F00"
}

with open('input.yaml','r') as data:
    dic = yaml.safe_load(data)
    o = open("results.dot", "w")
    o.write("""
Digraph G {
graph [ dpi = 250 ];
node [shape="plaintext"];
""")
    for liste in dic:
        o.write(liste + " [label=\"" + translate[liste] + "\" fontcolor=\"" + colors[liste] + "\"]\n")

    o.write("\n")
    for liste in dic:
        for opp in dic[liste]["win"]:
            if dic[liste]["win"][opp] > dic[opp]["win"][liste]:
                o.write(liste + " -> " + opp + "[labeldistance=7 labelangle=12 penwidth=1 headlabel=\"" + str(dic[liste]["win"][opp]) + ";" + str(dic[liste]["lose"][opp]) + "\" fontsize=10 color=\"" + colors[liste] + "\" fontcolor=\"" + colors[liste] + "\"]\n")
    o.write("}\n")
    o.close()