diff --git a/pyfpdb/HandHistoryConverter.py b/pyfpdb/HandHistoryConverter.py index 26452454..23688700 100644 --- a/pyfpdb/HandHistoryConverter.py +++ b/pyfpdb/HandHistoryConverter.py @@ -116,6 +116,7 @@ Otherwise, finish at eof...""" if not self.sanityCheck(): print "Cowardly refusing to continue after failed sanity check" return + if self.follow: numHands = 0 for handText in self.tailHands(): @@ -129,6 +130,9 @@ Otherwise, finish at eof...""" numHands= len(handsList) endtime = time.time() print "Processed %d hands in %.3f seconds" % (numHands, endtime - starttime) + if self.out_fh != sys.stdout: + self.out_fh.close() + def tailHands(self): """Generator of handTexts from a tailed file: diff --git a/pyfpdb/fpdb_import.py b/pyfpdb/fpdb_import.py index 0c51c416..cccba59e 100644 --- a/pyfpdb/fpdb_import.py +++ b/pyfpdb/fpdb_import.py @@ -229,30 +229,24 @@ class Importer: # Load filter, process file, pass returned filename to import_fpdb_file # TODO: Shouldn't we be able to use some sort of lambda or something to just call a Python object by whatever name we specify? then we don't have to hardcode them, + print "converting %s" % file + hhbase = self.config.get_import_parameters().get("hhArchiveBase") + hhbase = os.path.expanduser(hhbase) + hhdir = os.path.join(hhbase,site) + try: + out_path = os.path.join(hhdir, file.split(os.path.sep)[-2]+"-"+os.path.basename(file)) + except: + out_path = os.path.join(hhdir, "x"+strftime("%d-%m-%y")+os.path.basename(file)) + # someone can just create their own python module for it if filter in ("EverleafToFpdb","Everleaf"): - print "converting ", file - hhbase = self.config.get_import_parameters().get("hhArchiveBase") - hhbase = os.path.expanduser(hhbase) - hhdir = os.path.join(hhbase,site) - try: - out_path = os.path.join(hhdir, file.split(os.path.sep)[-2]+"-"+os.path.basename(file)) - except: - out_path = os.path.join(hhdir, "x"+strftime("%d-%m-%y")+os.path.basename(file)) - #out_fh = open(ofile, 'w') # TODO: seek to previous place in input and append output conv = EverleafToFpdb.Everleaf(in_path = file, out_path = out_path) - #~ conv.join() elif filter == "FulltiltToFpdb": - print "converting ", file - conv = FulltiltToFpdb.FullTilt(in_fh = file, out_fh = out_fh) + conv = FulltiltToFpdb.FullTilt(in_path = file, out_path = out_path) else: print "Unknown filter ", filter return - supp = conv.readSupportedGames() # Should this be done by HHC on init? - #gt = conv.determineGameType() - # TODO: Check that gt is in supp - error appropriately if not - #conv.processFile() if(conv.getStatus()): (stored, duplicates, partial, errors, ttime) = self.import_fpdb_file(out_path, site) else: @@ -280,7 +274,7 @@ class Importer: loc = self.pos_in_file[file] except: pass - + print "DEBUG: XXXXX in import_fpdb_file" # Read input file into class and close file inputFile.seek(loc) self.lines=fpdb_simple.removeTrailingEOL(inputFile.readlines()) @@ -290,7 +284,7 @@ class Importer: try: # sometimes we seem to be getting an empty self.lines, in which case, we just want to return. firstline = self.lines[0] except: -# print "import_fpdb_file", file, site, self.lines, "\n" + print "DEBUG: import_fpdb_file: failed on self.lines[0]: '%s' '%s' '%s' '%s' " %( file, site, self.lines, loc) return (0,0,0,1,0) if firstline.find("Tournament Summary")!=-1: