diff options
author | Lassulus <Lassulus@googlemail.com> | 2011-05-26 15:53:04 +0200 |
---|---|---|
committer | Lassulus <Lassulus@googlemail.com> | 2011-05-26 15:53:04 +0200 |
commit | dc4e9b72f168a7c29703cbb36990887926f63d5a (patch) | |
tree | 834286b6e372d026b809098b93ffd5fa252c5d29 /.scripts/adv_graphgen | |
parent | ea45809be2ee536e08a891d6063e43319e9e7364 (diff) | |
parent | 506c0bbf04754c58574badc4113e0502da29e782 (diff) |
Merge branch 'master' of github.com:miefda/retiolum
Diffstat (limited to '.scripts/adv_graphgen')
-rwxr-xr-x | .scripts/adv_graphgen/parse.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/.scripts/adv_graphgen/parse.py b/.scripts/adv_graphgen/parse.py index 27fe3a99..04b42c33 100755 --- a/.scripts/adv_graphgen/parse.py +++ b/.scripts/adv_graphgen/parse.py @@ -1,4 +1,5 @@ #!/usr/bin/python2 +# -*- coding: utf8 -*- import sys """ TODO: Refactoring needed to pull the edges out of the node structures again, @@ -35,23 +36,28 @@ def merge_edges(nodes): def write_node(k,v): - """ writes a single node and its edges """ + """ writes a single node and its edges + edges are weightet with the informations inside the nodes provided by + tinc + """ node = " "+k+"[label=\"" node += k+"\\l" node += "external:"+v['external-ip']+":"+v['external-port']+"\\l" if v.has_key('num_conns'): node += "Num Connects:"+str(v['num_conns'])+"\\l" - node += "internal:"+v['internal-ip']+"\\l\"" + + node += "internal:"+v.get('internal-ip','¯\\\\(°_o)/¯')+"\\l\"" if v['external-ip'] == "MYSELF": node += ",fillcolor=steelblue1" node += "]" print (node) for con in v.get('to',[]): - edge = " "+k+ " -> " +con['name'] + "[weight="+str(10/float(con['weight'])) + edge = " "+k+ " -> " +con['name'] + "[weight="+str(float(con['weight'])) if con.get('bidirectional',False): edge += ",dir=both" edge += "]" print edge + def parse_input(): nodes={} for line in sys.stdin: |