5
0
mirror of https://github.com/cwinfo/yggdrasil-go.git synced 2024-11-23 03:11:35 +00:00
yggdrasil-go/misc/sim/walk2map.py
2018-02-02 19:37:18 -06:00

36 lines
1.1 KiB
Python

#!/usr/bin/env python2
def main():
import sys
args = sys.argv
if len(args) != 2:
print "Usage:", args[0], "path/to/walk.txt"
return
import glob
files = glob.glob(args[1])
if len(files) == 0:
print "File not found:", args[1]
return
for inFile in files:
with open(inFile, 'r') as f: lines = f.readlines()
out = []
nodes = dict()
for line in lines:
words = line.strip().strip('[').strip(']').split(',')
if len(words) < 5: continue
if words[0].strip('"') != "link": continue
first, second = words[3], words[4]
if first not in nodes: nodes[first] = len(nodes)
if second not in nodes: nodes[second] = len(nodes)
for line in lines:
words = line.strip().strip('[').strip(']').split(',')
if len(words) < 5: continue
if words[0].strip('"') != "link": continue
first, second = nodes[words[3]], nodes[words[4]]
out.append("{0} {1}".format(first, second))
with open(inFile+".map", "w") as f: f.write("\n".join(out))
# End loop over files
# End main
if __name__ == "__main__": main()