Revision: bb88e06ff422
Branch: default
Author: gbtami
Date: Sun Jan 4 17:33:04 2015 UTC
Log: Fixed savers (after open() -> io.open() change)
https://code.google.com/p/pychess/source/detail?r=bb88e06ff422
Modified:
/lib/pychess/Savers/chessalpha2.py
/lib/pychess/Savers/epd.py
/lib/pychess/Savers/fen.py
/lib/pychess/Savers/pgn.py
=======================================
--- /lib/pychess/Savers/chessalpha2.py Wed Dec 31 09:35:55 2014 UTC
+++ /lib/pychess/Savers/chessalpha2.py Sun Jan 4 17:33:04 2015 UTC
@@ -61,11 +61,11 @@
def save (file, model, position=None):
"""Saves the position as a diagram using chess fonts"""
- print("<meta http-equiv='Content-Type'
content='text/html;charset=UTF-8'>", file=file)
- print("<style type='text/css'>%s</style>"%style, file=file)
- print("<table cellspacing='0' cellpadding='0' class='pychess'><tr><td
colspan='6'><pre>", file=file)
+ print(u"<meta http-equiv='Content-Type'
content='text/html;charset=UTF-8'>", file=file)
+ print(u"<style type='text/css'>%s</style>"%style, file=file)
+ print(u"<table cellspacing='0' cellpadding='0' class='pychess'><tr><td
colspan='6'><pre>", file=file)
writeDiagram(file, model)
- print("</pre></td></tr>", file=file)
+ print(u"</pre></td></tr>", file=file)
sanmvs = map(toFAN, model.boards[:-1], model.moves)
sanmvs = map(fanconv, sanmvs)
@@ -79,7 +79,7 @@
left = i+1+model.lowply/2
writeMoves(file, str(i+1+model.lowply/2), sanmvs[i],
str(left+len(sanmvs)/2), sanmvs[i+len(sanmvs)/2])
- print("</table>", file=file)
+ print(u"</table>", file=file)
file.close()
@@ -87,24 +87,24 @@
m1 += '.'; m2 += '.'
if not movepair2[0]:
m2 = ''
- print("<tr><td class='numa'>%s</td><td>%s</td><td>%s</td>" % (m1,
movepair1[0], movepair1[1]), file=file)
+ print(u"<tr><td class='numa'>%s</td><td>%s</td><td>%s</td>" % (m1,
movepair1[0], movepair1[1]), file=file)
if not movepair2[1] and movepair2[0] in map(fanconv, reprResult):
- print("<td class='status' colspan='3'>%s</td></tr>" %
movepair2[0], file=file)
+ print(u"<td class='status' colspan='3'>%s</td></tr>" %
movepair2[0], file=file)
else:
- print("<td class='numb'>%s</td><td>%s</td><td>%s</td></tr>" % (m2,
movepair2[0], movepair2[1]), file=file)
+ print(u"<td class='numb'>%s</td><td>%s</td><td>%s</td></tr>" %
(m2, movepair2[0], movepair2[1]), file=file)
def writeDiagram(file, model, border = True, whitetop = False):
data = model.boards[-1].data[:]
if not whitetop: data.reverse()
if border:
- print("[<<<<<<<<]", file=file)
+ print(u"[<<<<<<<<]", file=file)
for y,row in enumerate(data):
if whitetop:
- file.write(borderNums(y))
+ file.write(u"%s" % borderNums(y))
else:
- file.write(borderNums[7-y])
+ file.write(u"%s" % borderNums[7-y])
for x,piece in sorted(row.items()):
# exclude captured pieces in holding
if x>=0 and x<=7:
@@ -118,8 +118,8 @@
c = diaPieces[bg][color][piece]
if c in def2entity:
c = def2entity[c]
- file.write(c)
- file.write('\\\n')
+ file.write(u"%s" % c)
+ file.write(u'\\\n')
if border:
- print("{ABCDEFGH}", file=file)
+ print(u"{ABCDEFGH}", file=file)
=======================================
--- /lib/pychess/Savers/epd.py Tue Dec 30 14:13:27 2014 UTC
+++ /lib/pychess/Savers/epd.py Sun Jan 4 17:33:04 2015 UTC
@@ -18,7 +18,7 @@
fen = model.boards[-1].asFen().split(" ")
# First four parts of fen are the same in epd
- file.write(" ".join(fen[:4]))
+ file.write(u" ".join(fen[:4]))
############################################################################
# Repetition
count #
@@ -56,15 +56,15 @@
)
for key, value in opcodes:
- file.write(" %s %s;" % (key, value))
+ file.write(u" %s %s;" % (key, value))
############################################################################
# Resign
opcode #
############################################################################
if model.status in (WHITEWON, BLACKWON) and model.reason == WON_RESIGN:
- file.write(" resign;")
+ file.write(u" resign;")
- print(file=file)
+ print(u"", file=file)
file.close()
def load (file):
=======================================
--- /lib/pychess/Savers/fen.py Tue Dec 30 13:23:24 2014 UTC
+++ /lib/pychess/Savers/fen.py Sun Jan 4 17:33:04 2015 UTC
@@ -13,7 +13,7 @@
def save (file, model, position=None):
"""Saves game to file in fen format"""
- print(model.boards[-1].asFen(), file=file)
+ print(u"%s" % model.boards[-1].asFen(), file=file)
file.close()
def load (file):
=======================================
--- /lib/pychess/Savers/pgn.py Fri Jan 2 12:38:04 2015 UTC
+++ /lib/pychess/Savers/pgn.py Sun Jan 4 17:33:04 2015 UTC
@@ -83,62 +83,62 @@
def save (file, model, position=None):
- status = reprResult[model.status]
+ status = u"%s" % reprResult[model.status]
- print('[Event "%s"]' % model.tags["Event"], file=file)
- print('[Site "%s"]' % model.tags["Site"], file=file)
- print('[Date "%04d.%02d.%02d"]' % \
+ print(u'[Event "%s"]' % model.tags["Event"], file=file)
+ print(u'[Site "%s"]' % model.tags["Site"], file=file)
+ print(u'[Date "%04d.%02d.%02d"]' % \
(int(model.tags["Year"]), int(model.tags["Month"]),
int(model.tags["Day"])), file=file)
- print('[Round "%s"]' % model.tags["Round"], file=file)
- print('[White "%s"]' % repr(model.players[WHITE]), file=file)
- print('[Black "%s"]' % repr(model.players[BLACK]), file=file)
- print('[Result "%s"]' % status, file=file)
+ print(u'[Round "%s"]' % model.tags["Round"], file=file)
+ print(u'[White "%s"]' % repr(model.players[WHITE]), file=file)
+ print(u'[Black "%s"]' % repr(model.players[BLACK]), file=file)
+ print(u'[Result "%s"]' % status, file=file)
if "ECO" in model.tags:
- print('[ECO "%s"]' % model.tags["ECO"], file=file)
+ print(u'[ECO "%s"]' % model.tags["ECO"], file=file)
if "WhiteElo" in model.tags:
- print('[WhiteElo "%s"]' % model.tags["WhiteElo"], file=file)
+ print(u'[WhiteElo "%s"]' % model.tags["WhiteElo"], file=file)
if "BlackElo" in model.tags:
- print('[BlackElo "%s"]' % model.tags["BlackElo"], file=file)
+ print(u'[BlackElo "%s"]' % model.tags["BlackElo"], file=file)
if "TimeControl" in model.tags:
- print('[TimeControl "%s"]' % model.tags["TimeControl"], file=file)
+ print(u'[TimeControl "%s"]' % model.tags["TimeControl"], file=file)
if "Time" in model.tags:
- print('[Time "%s"]' % str(model.tags["Time"]), file=file)
+ print(u'[Time "%s"]' % str(model.tags["Time"]), file=file)
if model.timed:
- print('[WhiteClock "%s"]' % \
+ print(u'[WhiteClock "%s"]' % \
msToClockTimeTag(int(model.timemodel.getPlayerTime(WHITE) *
1000)), file=file)
- print('[BlackClock "%s"]' % \
+ print(u'[BlackClock "%s"]' % \
msToClockTimeTag(int(model.timemodel.getPlayerTime(BLACK) *
1000)), file=file)
if issubclass(model.variant, FischerRandomChess):
- print('[Variant "Fischerandom"]', file=file)
+ print(u'[Variant "Fischerandom"]', file=file)
elif issubclass(model.variant, AtomicChess):
- print('[Variant "Atomic"]', file=file)
+ print(u'[Variant "Atomic"]', file=file)
elif issubclass(model.variant, CrazyhouseChess):
- print('[Variant "Crazyhouse"]', file=file)
+ print(u'[Variant "Crazyhouse"]', file=file)
elif issubclass(model.variant, WildcastleChess):
- print('[Variant "Wildcastle"]', file=file)
+ print(u'[Variant "Wildcastle"]', file=file)
elif issubclass(model.variant, SuicideChess):
- print('[Variant "Suicide"]', file=file)
+ print(u'[Variant "Suicide"]', file=file)
elif issubclass(model.variant, LosersChess):
- print('[Variant "Losers"]', file=file)
+ print(u'[Variant "Losers"]', file=file)
elif issubclass(model.variant, KingOfTheHillChess):
- print('[Variant "Kingofthehill"]', file=file)
+ print(u'[Variant "Kingofthehill"]', file=file)
if model.boards[0].asFen() != FEN_START:
- print('[SetUp "1"]', file=file)
- print('[FEN "%s"]' % model.boards[0].asFen(), file=file)
- print('[PlyCount "%s"]' % (model.ply-model.lowply), file=file)
+ print(u'[SetUp "1"]', file=file)
+ print(u'[FEN "%s"]' % model.boards[0].asFen(), file=file)
+ print(u'[PlyCount "%s"]' % (model.ply-model.lowply), file=file)
if "EventDate" in model.tags:
- print('[EventDate "%s"]' % model.tags["EventDate"], file=file)
+ print(u'[EventDate "%s"]' % model.tags["EventDate"], file=file)
if "Annotator" in model.tags:
- print('[Annotator "%s"]' % model.tags["Annotator"], file=file)
- print(file=file)
+ print(u'[Annotator "%s"]' % model.tags["Annotator"], file=file)
+ print(u"", file=file)
result = []
walk(model.boards[0].board, result, model)
- result = " ".join(result)
+ result = u" ".join(result)
result = wrap(result, 80)
print(result, status, file=file)
- print(file=file)
+ print(u"", file=file)
file.close()
def walk(node, result, model, vari=False):