parameters: (self, fichero, nombre, dicCab, fen, jg, rm, mj)
return_statement: return True
docstring: Graba una partida en un pgn
  
          @param fichero: pgn donde grabar
          @param nombre: nombre del motor que hace el analisis
          @param dicCab: etiquetas de cabecera del PGN
          @param fen: fen de la posicion
          @param jg: jugada analizada
          @param rm: respuesta motor
          @param mj: respuesta motor con la mejor jugada, usado en caso de blunders, para incluirla
docstring_summary: Graba una partida en un pgn
docstring_tokens: Graba una partida en un pgn
function: def grabaPGN(self, fichero, nombre, dicCab, fen, jg, rm, mj):
          """
          Graba una partida en un pgn
  
          @param fichero: pgn donde grabar
          @param nombre: nombre del motor que hace el analisis
          @param dicCab: etiquetas de cabecera del PGN
          @param fen: fen de la posicion
          @param jg: jugada analizada
          @param rm: respuesta motor
          @param mj: respuesta motor con la mejor jugada, usado en caso de blunders, para incluirla
          """
          if not fichero:
              return False
  
          p = Partida.Partida()
  
          if mj:  # blunder
              p.reset(jg.posicionBase)
              p.leerPV(rm.pv)
              jg0 = p.jugada(0)
              jg0.comentario = rm.texto()
              variante = p.pgnBaseRAW()
  
          p.reset(jg.posicionBase)
          if mj:  # blunder
              rm = mj
          p.leerPV(rm.pv)
          if p.siTerminada():
              result = p.resultado()
              mas = ""  # ya lo anade en la ultima jugada
          else:
              mas = " *"
              result = "*"
  
          jg0 = p.jugada(0)
          t = "%0.2f" % (float(self.tiempo) / 1000.0,)
          t = t.rstrip("0")
          if t[-1] == ".":
              t = t[:-1]
          etiT = "%s %s" % (t, _("Second(s)"))
  
          jg0.comentario = "%s %s: %s\n" % (nombre, etiT, rm.texto())
          if mj:
              jg0.variantes = variante
  
          cab = ""
          for k, v in dicCab.iteritems():
              ku = k.upper()
              if ku not in ("RESULT", "FEN"):
                  cab += '[%s "%s"]\n' % (k, v)
          # Nos protegemos de que se hayan escrito en el pgn original de otra forma
          cab += '[FEN "%s"]\n' % fen
          cab += '[Result "%s"]\n' % result
  
          f = codecs.open(fichero, "a", 'utf-8', 'ignore')
          texto = (cab + "\n" + p.pgnBase() + mas + "\n\n").replace("\n", "\r\n")
          f.write(texto)
          f.close()
  
          return True
function_tokens: def grabaPGN ( self , fichero , nombre , dicCab , fen , jg , rm , mj ) : if not fichero : return False p = Partida . Partida ( ) if mj : # blunder p . reset ( jg . posicionBase ) p . leerPV ( rm . pv ) jg0 = p . jugada ( 0 ) jg0 . comentario = rm . texto ( ) variante = p . pgnBaseRAW ( ) p . reset ( jg . posicionBase ) if mj : # blunder rm = mj p . leerPV ( rm . pv ) if p . siTerminada ( ) : result = p . resultado ( ) mas = "" # ya lo anade en la ultima jugada else : mas = " *" result = "*" jg0 = p . jugada ( 0 ) t = "%0.2f" % ( float ( self . tiempo ) / 1000.0 , ) t = t . rstrip ( "0" ) if t [ - 1 ] == "." : t = t [ : - 1 ] etiT = "%s %s" % ( t , _ ( "Second(s)" ) ) jg0 . comentario = "%s %s: %s\n" % ( nombre , etiT , rm . texto ( ) ) if mj : jg0 . variantes = variante cab = "" for k , v in dicCab . iteritems ( ) : ku = k . upper ( ) if ku not in ( "RESULT" , "FEN" ) : cab += '[%s "%s"]\n' % ( k , v ) # Nos protegemos de que se hayan escrito en el pgn original de otra forma cab += '[FEN "%s"]\n' % fen cab += '[Result "%s"]\n' % result f = codecs . open ( fichero , "a" , 'utf-8' , 'ignore' ) texto = ( cab + "\n" + p . pgnBase ( ) + mas + "\n\n" ) . replace ( "\n" , "\r\n" ) f . write ( texto ) f . close ( ) return True