#!/usr/bin/python import sgflib import sys import os import re def main(): src = open(sys.argv[1], 'r') text = src.read() src.close() col = sgflib.SGFParser(text).parse() #print col m = col[0].mainline() #print m #for i in m: # print i c = col.cursor() sgf_so_far = '(' plotfile=open('plotfile','w') while 1: sgf_so_far = sgf_so_far + str(c.node) #print "nodenum: %s; index: %s; children: %s; node: %s" % (c.nodenum, c.index, len(c.children), c.node) if c.atEnd: break file = open('sgf_so_far','w') file.write(sgf_so_far) file.close() pipe = os.popen('gnugo -l sgf_so_far --score estimate 2> /dev/null') prevline = '' while 1: line = pipe.readline() if not line: break prevline = line pipe.close() print c.nodenum+1,prevline, r=re.compile('^([BW]) seems to win by ([0-9\.]*) points.*$') m=r.match(prevline) if m: if c.nodenum >= 3: if m.group(1) == 'B': plotfile.write(str(c.nodenum+1)+' '+m.group(2)+'\n') else: plotfile.write(str(c.nodenum+1)+' '+'-'+m.group(2)+'\n') else: print 'bad thing' plotfile.flush() c.next() plotfile.close() os.system('gnuplot gp') main() #print 'hi'