'
+ hoshis19x19 = [(4,4),(4,10),(4,16),(10,4),(10,10),(10,16),(16,4),(16,10),(16,16)]
+ hoshis13x13 = [(4,4),(4,10),(7,7),(10,4),(10,10)]
+ hoshis9x9 = [(3,3),(3,7),(5,5),(7,3),(7,7)]
+
+
+ #TODO: check form[game] before the following asignment
+ mygame = database.GobanTable.get(gamename)
+ sgf = mygame.sgf
+ gobandict = gnugo.parse_static_gnugo_sgf(sgf)
+ size = mygame.size
+
+ for x in range(1,size+1):
+ for y in range(1,size+1):
+ # check for white or black stone
+ if gobandict[(x,y)] == 1:
+ stone = "_white"
+ elif gobandict[(x,y)] == 2:
+ stone = "_black"
+ else:
+ stone = ""
+ sx = str(x)
+ sy = str(y)
+ # check position:
+ if (x == 1) and (y == 1): # upper left
+ #data += '
'
+ data += '
' % (sx,sy,gamename,stone)
+ elif (x == 1) and (y == size): # upper right
+ data += '
' % (sx,sy,gamename,stone)
+ elif (x == size) and (y == size): # lower right
+ data += '
' % (sx,sy,gamename,stone)
+ elif (x == size) and (y == 1): # lower left
+ data += '
' % (sx,sy,gamename,stone)
+ elif (y == 1): #left line
+ data += '
' % (sx,sy,gamename,stone)
+ elif (x == 1): # top line
+ data += '
' % (sx,sy,gamename,stone)
+ elif (y == size): # right line
+ data += '
' % (sx,sy,gamename,stone)
+ elif (x == size): #bottom line
+ data += '
' % (sx,sy,gamename,stone)
+ else: # hoshi or empty inner field
+ defaultfield = '
' % (sx,sy,gamename,stone)
+ #too lazy to make special images for hoshi fields with stones:
+ if gobandict[(x,y)] == 1:
+ hoshifield = '
' % (sx,sy,gamename)
+ elif gobandict[(x,y)] == 2:
+ hoshifield = '
' % (sx,sy,gamename)
+ else: #empty hoshi
+ hoshifield = '
' % (sx,sy,gamename)
+ if size == 19: # 9 hoshis
+ if (x,y) in hoshis19x19:
+ data += hoshifield
+ else:
+ data += defaultfield
+ elif size == 13:
+ if (x,y) in hoshis13x13:
+ data += hoshifield
+ else:
+ data += defaultfield
+ elif size == 9:
+ if (x,y) in hoshis9x9:
+ data += hoshifield
+ else:
+ data += defaultfield
+ data += '
'
+ data += helper.footer()
+ return data
+
+
+
+ index.exposed = True
\ No newline at end of file