Example #1
0
    def grabarFichSTAT(self, nomGuide, fich):
        # Para convertir datos de games a bookGuide
        self.changeTo(None, nomGuide)
        f = open(fich, "rb")
        liRegs = []
        for linea in f:
            linea = linea.strip()
            xpv, pv, fen = linea.split("|")
            reg = SQLDBF.Almacen()
            reg.XPV = xpv
            reg.PV = pv
            reg.FEN = fen
            self.ultPos += 1
            reg.POS = self.ultPos

            liRegs.append(reg)

        select = "XPV,PV,FEN,POS"
        dbf = SQLDBF.DBFT(self.conexion, self.tablaDatos, select)

        def dispatch(num):
            pass

        dbf.insertarLista(liRegs, dispatch)
        dbf.cerrar()
Example #2
0
    def dbfT(self, ctabla, select, condicion="", orden=""):
        """
        Acceso a una tabla con un navegador tipo DBF, con lectura completa de todos los datos.

        @param ctabla: name de la tabla
        @param select: lista de campos separados por comas
        @param condicion: sentencia de condicion SQL
        @param orden: sentencia de orden SQL
        """
        return DBF.DBFT(self.conexion, ctabla, select, condicion, orden)
Example #3
0
 def readEXT(self, move):
     select = "COMMENT,GRAPHICS,XDATA"
     condicion = "XPV='%s'" % move.xpv()
     dbf = SQLDBF.DBFT(self.conexion, self.tablaDatos, select, condicion)
     dbf.leer()
     if dbf.reccount():
         dbf.goto(0)
         move.comment(dbf.COMMENT, True)
         move.graphics(dbf.GRAPHICS, True)
         move.xdata(Util.blob2var(dbf.XDATA), True)
     dbf.cerrar()
Example #4
0
    def readAllDB(self):
        self.transpositions = {}
        self.bookmarks = []
        self.ultPos = 0
        select = "ROWID,XPV,PV,NAG,ADV,FEN,MARK,POS"
        orden = "XPV"
        condicion = ""
        dbf = SQLDBF.DBFT(self.conexion, self.tablaDatos, select, condicion,
                          orden)
        dbf.leer()

        dicMoves = {}
        dicMoves[""] = self.root
        for recno in range(dbf.reccount()):
            dbf.goto(recno)
            xpv = dbf.XPV
            pv = dbf.PV
            if not pv:
                self.root.rowid(dbf.ROWID)
                continue
            xpvfather = xpv[:-2 if len(pv) == 4 else -3]
            if xpvfather in dicMoves:
                father = dicMoves[xpvfather]
                mv = UnMove(self, father)
                mv.pv(pv)
                mv.xpv(xpv)
                mv.fen(dbf.FEN)
                mv.rowid(dbf.ROWID)
                mv.nag(dbf.NAG, True)
                mv.adv(dbf.ADV, True)
                mark = dbf.MARK
                if mark:
                    self.bookmarks.append(mv)
                mv.mark(dbf.MARK, True)
                mv.pos(dbf.POS, True)
                if dbf.POS >= self.ultPos:
                    self.ultPos = dbf.POS
                dicMoves[xpv] = mv
                father.addChildren(mv)

        dbf.cerrar()