Files
@ 3ce489491296
Branch filter:
Location: Diana/sgf.py - annotation
3ce489491296
1.0 KiB
text/x-python
init, random commit
3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 3ce489491296 | import re
import datetime
class Sgf:
gameName=None
black=None
white=None
rankB=None
rankW=None
result=None
komi=6.5
date=None
place=None
moves=[]
def __init__(self,s):
m=re.search("GN\[.*\]",s)
if m: self.gameName=m.group()
m=re.search("PB\[.*\]",s)
if m: self.black=m.group()
m=re.search("PW\[.*\]",s)
if m: self.white=m.group()
m=re.search("BR\[.*\]",s)
if m: self.rankB=m.group()
m=re.search("WR\[.*\]",s)
if m: self.rankW=m.group()
m=re.search("RE\[.*\]",s)
if m: self.result=m.group()
m=re.search("KM\[.*\]",s)
if m: self.komi=m.group()
m=re.search("PC\[.*\]",s)
if m: self.place=m.group()
m=re.search("DT\[.*\]",s)
if m: self.date=m.group() # naparsovat ho
self.moves=re.findall("\W([BW])\[([a-s]{2})\]",s) # a pass?
char2int=lambda a:ord(a)-ord('a')
self.moves=[(c,(char2int(m[0]),char2int(m[1]))) for c,m in self.moves]
def getMoves(self):
return self.moves.copy()
|