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()