Make Everleaf converter actually function.

Makes HandHistoryConverter actually write out a file to
$hhArchiveBase/sitename/

Adds code in importer call the functions in EverleafToFpdb
This commit is contained in:
Worros 2009-02-05 18:28:18 +09:00
parent 9cd88c0399
commit 315d010311
2 changed files with 24 additions and 4 deletions

View File

@ -88,7 +88,7 @@ class HandHistoryConverter:
self.hhbase = os.path.expanduser(self.hhbase) self.hhbase = os.path.expanduser(self.hhbase)
self.hhdir = os.path.join(self.hhbase,sitename) self.hhdir = os.path.join(self.hhbase,sitename)
self.gametype = [] self.gametype = []
# self.ofile = os.path.join(self.hhdir,file) self.ofile = os.path.join(self.hhdir,file)
self.rexx = FpdbRegex.FpdbRegex() self.rexx = FpdbRegex.FpdbRegex()
def __str__(self): def __str__(self):
@ -110,6 +110,7 @@ class HandHistoryConverter:
print "Cowardly refusing to continue after failed sanity check" print "Cowardly refusing to continue after failed sanity check"
return return
self.readFile(self.file) self.readFile(self.file)
outfile = open(self.ofile, 'w')
self.gametype = self.determineGameType() self.gametype = self.determineGameType()
self.hands = self.splitFileIntoHands() self.hands = self.splitFileIntoHands()
for hand in self.hands: for hand in self.hands:
@ -137,13 +138,14 @@ class HandHistoryConverter:
hand.totalPot() hand.totalPot()
self.getRake(hand) self.getRake(hand)
hand.writeHand(sys.stderr) hand.writeHand(outfile)
#if(hand.involved == True): #if(hand.involved == True):
#self.writeHand("output file", hand) #self.writeHand("output file", hand)
#hand.printHand() #hand.printHand()
#else: #else:
#pass #Don't write out observed hands #pass #Don't write out observed hands
outfile.close()
endtime = time.time() endtime = time.time()
print "Processed %d hands in %d seconds" % (len(self.hands), endtime-starttime) print "Processed %d hands in %d seconds" % (len(self.hands), endtime-starttime)
@ -259,3 +261,10 @@ class HandHistoryConverter:
result*=100 result*=100
return result return result
#end def float2int #end def float2int
def getStatus(self):
#TODO: Return a status of true if file processed ok
return True
def getProcessedFile(self):
return self.ofile

View File

@ -39,6 +39,7 @@ import re
import fpdb_db import fpdb_db
import fpdb_simple import fpdb_simple
import fpdb_parse_logic import fpdb_parse_logic
import EverleafToFpdb
from time import time from time import time
class Importer: class Importer:
@ -156,8 +157,18 @@ class Importer:
if(filter == "passthrough"): if(filter == "passthrough"):
(stored, duplicates, partial, errors, ttime) = self.import_fpdb_file(file, site) (stored, duplicates, partial, errors, ttime) = self.import_fpdb_file(file, site)
else: else:
# TODO: Load filter, and run filtered file though main importer conv = None
(stored, duplicates, partial, errors, ttime) = self.import_fpdb_file(file, site) # Load filter, process file, pass returned filename to import_fpdb_file
if(filter == "EverleafToFpdb"):
conv = EverleafToFpdb(self.config, file)
conv.readSupportedGames() # Should this be done by HHC on init?
conv.determineGameType()
conv.processFile()
if(conv.getStatus()):
(stored, duplicates, partial, errors, ttime) = self.import_fpdb_file(conv.getProcessedFile(ofile), site)
#This will barf if conv.getStatus != True
return (stored, duplicates, partial, errors, ttime) return (stored, duplicates, partial, errors, ttime)