From 6c2cc134abf3f32d1d6ec172c6201f8d990c88ab Mon Sep 17 00:00:00 2001 From: Sébastien Dailly Date: Sun, 24 Aug 2014 12:52:10 +0200 Subject: Initial commit --- qml/python/board.py | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 qml/python/board.py (limited to 'qml/python/board.py') diff --git a/qml/python/board.py b/qml/python/board.py new file mode 100644 index 0000000..48f3ff0 --- /dev/null +++ b/qml/python/board.py @@ -0,0 +1,57 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +import os +try: + import pyotherside +except: + print("no pyotherside module loaded") + +import sgfparser +from game import Game + +counter = 0 + +path = "" +cursor = None + +def setPath(qtPath): + global path + path = qtPath + +def loadBoard(filename): + global cursor + + sgfPath = os.path.join(path,"../content","sgf",filename); + pyotherside.send('log', sgfPath) + try: + f = open(sgfPath) + s = f.read() + f.close() + except IOError: + pyotherside.send('log', "Cannot open %s" % filename) + return + + try: + cursor = sgfparser.Cursor(s) + except sgfparser.SGFError: + pyotherside.send('log', 'Error in SGF file!') + return + pyotherside.send('log', 'File %s loaded' % filename) + pyotherside.send('log', 'Found %d problems' % cursor.root.numChildren) + return cursor.root.numChildren + +def getGame(n): + global cursor + + cursor.game(n) + + game = Game(cursor) + game.normalize() + pyotherside.send('log', "Game loaded !!") + + return { + "tree": game.tree, + "size": game.get_size(), + "side": game.side, + } -- cgit v1.2.3