def main(): common.parser().add_option("--indb", dest = "indb", help = "Input database") common.parser().add_option("--outdb", dest = "outdb", help = "Output database") common.parser().add_option("--firstgame", dest="firstgame", help = "First game in input database to analyze") common.parser().add_option("--lastgame", dest="lastgame",help = "First game in input database to analyze") common.parser().add_option("--ecofile", dest = "ecofile", help = "The (.cfdb) database containing the ECO classification") if not common.init(__file__): exit(2) progname = common.progname() debuglog = True logcomms = False logfile1 = common.tmpdir() + "/ccore1.log" logfile2 = common.tmpdir() + "/ccore2.log" configfile = common.configfile() indb = common.options().indb if not indb: indb = common.testdir() + "/pgn/Boris_Spassky.pgn" outdb = common.options().outdb if not outdb: outdb = common.tmpdir() + "/classified.cfdb" if os.path.exists(outdb): os.remove(outdb) ecofile = common.options().ecofile if not ecofile: ecofile = common.testdir() + "/cfdb/eco.cfdb" firstgame = common.options().firstgame lastgame = common.options().lastgame if os.path.exists(logfile1): os.remove(logfile1) if os.path.exists(logfile2): os.remove(logfile2) # Take a copy of the database cmdline = common.ccore() if debuglog: cmdline += " --debuglog true" if logcomms: cmdline += " --logcomms true" if firstgame: cmdline += " -n {0}".format(firstgame) if lastgame: cmdline += " -N {0}".format(lastgame) cmdline += " -l {0} -i {1} -o {2} copydb".format(logfile1, indb, outdb); if common.runccore(cmdline): common.checkLogfile(logfile1) # And then classify the copy cmdline = common.ccore() if debuglog: cmdline += " --debuglog true" if logcomms: cmdline += " --logcomms true" cmdline += " -l {0} -i {1} -E {2} classify".format(logfile2, outdb, ecofile) if common.runccore(cmdline): common.checkLogfile(logfile2)
def main(): common.parser().add_option("--epdfile", dest = "epdfile", help = "Input EPD file") common.parser().add_option("--timecontrol", dest="timecontrol", default = "10s", help = "Time control") common.parser().add_option("--engine", dest="engine", help = "The engine to use to process the EPD file") if not common.init(__file__): exit(2) progname = common.progname() debuglog = True logcomms = False logfile = common.tmpdir() + "/ccore.log" configfile = common.configfile() epdfile = common.options().epdfile if not epdfile: usage() timecontrol = common.options().timecontrol engine = common.options().engine if not engine: engine = common.engine1() if os.path.exists(logfile): os.remove(logfile) # Take a copy of the database cmdline = common.ccore() if debuglog: cmdline += " --debuglog true" if logcomms: cmdline += " --logcomms true" cmdline += " -c {0} -l {1} -e {2} -t {3} processepd {4}".format(configfile, logfile, epdfile, timecontrol, engine); if common.runccore(cmdline): common.checkLogfile(logfile)
def main(): common.parser().add_option("--indb", dest = "indb", help = "Input database") common.parser().add_option("--outdb", dest = "outdb", help = "Output database") if not common.init(__file__): exit(2) progname = common.progname() debuglog = True logfile1 = common.tmpdir() + "/ccore1.log" logfile2 = common.tmpdir() + "/ccore2.log" indb = common.options().indb if not indb: indb = common.rootdir() + "/doc/OpeningClassification/eco.pgn" outdb = common.options().outdb if not outdb: outdb = common.testdir() + "/cfdb/eco.cfdb" if os.path.exists(logfile1): os.remove(logfile1) if os.path.exists(logfile2): os.remove(logfile2) if os.path.exists(outdb): os.remove(outdb) # Copy the database cmdline = common.ccore() if debuglog: cmdline += " --debuglog true" cmdline += " -l {0} -i {1} -o {2} copydb".format(logfile1, indb, outdb) if common.runccore(cmdline): common.checkLogfile(logfile1) # Create the opening tree in the output database cmdline = common.ccore() if debuglog: cmdline += " --debuglog true" cmdline += " -l {0} -i {1} -d 100 buildoptree".format(logfile2, outdb) if common.runccore(cmdline): common.checkLogfile(logfile2)
def main(): common.parser().add_option("--engine1", dest = "engine1", help = "Engine #1") common.parser().add_option("--engine2", dest = "engine2", help = "Engine #2") common.parser().add_option("--numgames", dest = "numgames", type = "int", default = 5, help = "Number of games") common.parser().add_option("--timecontrol", dest = "timecontrol", default = "30", help = "Time control") common.parser().add_option("--ecofile", dest = "ecofile", help = "The (.cfdb) database containing the ECO classification") common.parser().add_option("--logcomms", dest = "logcomms", type = "int", default = 0, help = "Log UCI comms") if not common.init(__file__): exit(2) progname = common.progname() debuglog = True logcomms = common.options().logcomms != 0 logfile = common.tmpdir() + "/ccore.log" pgnfile = common.tmpdir() + "/games.pgn" configfile = common.configfile() ecofile = common.options().ecofile if not ecofile: ecofile = common.testdir() + "/cfdb/eco.cfdb" engine1 = common.options().engine1 if not engine1: engine1 = common.engine1() engine2 = common.options().engine2 if not engine2: engine2 = common.engine2() numgames = common.options().numgames timecontrol = common.options().timecontrol if os.path.exists(logfile): os.remove(logfile) cmdline = common.ccore() if debuglog: cmdline += " --debuglog true" if logcomms: cmdline += " --logcomms true" cmdline += " -c {0} -l {1} -o {2} -E {3} -n {4} -t {5} tournament {6} {7}".format(configfile, logfile, pgnfile, ecofile, numgames, timecontrol, engine1, engine2) if common.runccore(cmdline): common.checkLogfile(logfile)
def run(runcycle, indb, outdb): progname = common.progname() logfile1 = common.tmpdir() + "/copy" + str(runcycle) + ".log" logfile2 = common.tmpdir() + "/validate" + str(runcycle) + ".log" if not os.path.exists(indb): print "{0}: Input database {1} does not exist".format(progname, indb) return False if os.path.exists(logfile1): os.remove(logfile1) if os.path.exists(logfile2): os.remove(logfile2) if os.path.exists(outdb): os.remove(outdb) print "========================================================================================" print "{0}: Copying {1} to {2}".format(progname, indb, outdb) cmdline = common.ccore() cmdline += " -l {0} -i {1} -o {2} --quiet=true --debuglog=true copydb".format(logfile1, indb, outdb) if not common.runccore(cmdline): return False common.checkLogfile(logfile1) # Check that the copy was successful found = False f = open(logfile1, "r") for line in f: if re.search("Successfully copied database", line): found = True break if found: print "{0}: Copy successful".format(progname) else: print "{0}: Copy failed".format(progname) return False print "----------------------------------------------------------------------------------------" print "{0}: Validating {1}".format(progname, outdb) cmdline = common.ccore() cmdline += " -l {0} -i {1} --quiet true --debuglog true validatedb".format(logfile2, outdb) if not common.runccore(cmdline): return False common.checkLogfile(logfile2) # Check that the validate was successful found = False f = open(logfile2, "r") for line in f: if re.search("Database is valid", line): found = True break if found: print "{0}: Validate successful".format(progname) else: print "{0}: Validate failed".format(progname) return False return True