root/06/libkombilo-branches/hash_center_makedb/process.py

Revision 236, 1.7 kB (checked in by ug, 2 years ago)

Fixed some issues with creating the frequency db.

  • Property svn:executable set to
Line 
1 #! /usr/bin/env python2.4
2
3 # from pysqlite2 import dbapi2
4 import os
5 import os.path
6 import sys
7 import glob
8 import time
9 from libkombilo import *
10
11 try:
12     os.system('rm t1.db*')
13 except:
14     pass
15
16 def process(filenames):
17     """Process a list of sgf files, put the game info into "table" of the database
18     given by con, and call the relevant processing functions for the algorithms in algos"""
19
20     starttime = time.time()
21     try:
22         pop = ProcessOptions()
23         pop.algos = ALGO_FINALPOS | ALGO_MOVELIST | ALGO_HASH_CENTER
24         # pop.rootNodeTags = 'PW,PB,RE,DT'
25         pop.sgfInDB = False
26         gl = GameList('t1.db', 'id', '', pop, 1000)
27     except DBError:
28         print 'Database error'
29     gl.start_processing()
30     counter = 0
31     for filename in filenames:
32         # print filename
33         counter += 1
34         try:
35             file = open(filename)
36             sgf = file.read()
37             file.close()
38         except:
39             print 'Unable to read file %s' % filename
40             continue
41
42         path, fn = os.path.split(filename)
43         gl.process(sgf, path, fn)
44     gl.finalize_processing()
45     print 'Processed %d games in %.2f seconds' % (counter, time.time()-starttime)
46
47 # filelist = glob.glob('./*.sgf')
48 # filelist = glob.glob('/home/ug/go/gogod06/*/*.sgf')
49 # filelist = glob.glob('/home/ug/go/KGS/*/*.sgf')
50 # filelist = glob.glob('/home/ug/go/KGS2005/*.sgf')
51
52 for path in ['/home/ug/go/gogod06/*/*.sgf', '/home/ug/go/KGS/*/*.sgf']:
53     filelist = glob.glob(path)
54     filelist.sort()
55     process(filelist)
56
57 gl = GameList("t1.db", "id", "[[filename.]], ")
58
59 # p = Pattern(CENTER_PATTERN, 19, 3, 5, ".X..OX.OX.OXOXO")
60 # so = SearchOptions()
61
62 # gl.reset()
63 # gl.search(p, so)
64
65 # for i in range(gl.size())[-10:]:
66 #       print gl.currentEntryAsString(i)
67
68
Note: See TracBrowser for help on using the browser.