From c2475db71222e0191980b8b8838a700ebcf73ade Mon Sep 17 00:00:00 2001 From: Worros Date: Wed, 12 Nov 2008 22:40:29 +1000 Subject: [PATCH] Bugfix - fixes new stars format import, also fixes bug in bulk import (that i introduced a few commits ago) --- pyfpdb/GuiBulkImport.py | 2 ++ pyfpdb/RegressionTest.py | 21 ++++++++++++++++++++- pyfpdb/fpdb_simple.py | 10 ++++++---- 3 files changed, 28 insertions(+), 5 deletions(-) diff --git a/pyfpdb/GuiBulkImport.py b/pyfpdb/GuiBulkImport.py index 9087cc79..d76e30ed 100644 --- a/pyfpdb/GuiBulkImport.py +++ b/pyfpdb/GuiBulkImport.py @@ -28,6 +28,7 @@ class GuiBulkImport (threading.Thread): """imports a directory, non-recursive. todo: move this to fpdb_import so CLI can use it""" self.path=self.inputFile self.importer.addImportDirectory(self.path) + self.importer.setCallHud(False) self.importer.runImport() print "GuiBulkImport.import_dir done" @@ -64,6 +65,7 @@ class GuiBulkImport (threading.Thread): self.import_dir() else: self.importer.addImportFile(self.inputFile) + self.importer.setCallHud(False) self.importer.runImport() self.importer.clearFileList() diff --git a/pyfpdb/RegressionTest.py b/pyfpdb/RegressionTest.py index b4dd1b7d..26bec1e9 100644 --- a/pyfpdb/RegressionTest.py +++ b/pyfpdb/RegressionTest.py @@ -24,8 +24,11 @@ import os import sys +import datetime +import Configuration import fpdb_db import fpdb_import +import fpdb_simple import FpdbSQLQueries import unittest @@ -34,6 +37,7 @@ class TestSequenceFunctions(unittest.TestCase): def setUp(self): """Configure MySQL settings/database and establish connection""" + self.c = Configuration.Config() self.mysql_settings={ 'db-host':"localhost", 'db-backend':2, 'db-databaseName':"fpdbtest", @@ -44,7 +48,7 @@ class TestSequenceFunctions(unittest.TestCase): self.mysql_settings['db-databaseName'], self.mysql_settings['db-user'], self.mysql_settings['db-password']) self.mysqldict = FpdbSQLQueries.FpdbSQLQueries('MySQL InnoDB') - self.mysqlimporter = fpdb_import.Importer(self, self.mysql_settings) + self.mysqlimporter = fpdb_import.Importer(self, self.mysql_settings, self.c) # """Configure Postgres settings/database and establish connection""" # self.pg_settings={ 'db-host':"localhost", 'db-backend':3, 'db-databaseName':"fpdbtest", 'db-user':"fpdb", 'db-password':"fpdb"} @@ -69,6 +73,21 @@ class TestSequenceFunctions(unittest.TestCase): self.result = self.mysql_db.cursor.execute("SHOW TABLES") self.failUnless(self.result==13, "Number of tables in database incorrect. Expected 13 got " + str(self.result)) + def testPokerStarsHHDate(self): + latest = "PokerStars Game #21969660557: Hold'em No Limit ($0.50/$1.00) - 2008/11/12 10:00:48 CET [2008/11/12 4:00:48 ET]" + previous = "PokerStars Game #21969660557: Hold'em No Limit ($0.50/$1.00) - 2008/08/17 - 01:14:43 (ET)" + older1 = "PokerStars Game #21969660557: Hold'em No Limit ($0.50/$1.00) - 2008/09/07 06:23:14 ET" + + result = fpdb_simple.parseHandStartTime(older1, "ps") + self.failUnless(result==datetime.datetime(2008,9,7,11,23,14), + "Date incorrect, expected: 2008-09-07 11:23:14 got: " + str(result)) + result = fpdb_simple.parseHandStartTime(latest, "ps") + self.failUnless(result==datetime.datetime(2008,11,12,15,00,48), + "Date incorrect, expected: 2008-11-12 15:00:48 got: " + str(result)) + result = fpdb_simple.parseHandStartTime(previous, "ps") + self.failUnless(result==datetime.datetime(2008,8,17,6,14,43), + "Date incorrect, expected: 2008-08-17 01:14:43 got: " + str(result)) + def testImportHandHistoryFiles(self): """Test import of single HH file""" self.mysqlimporter.addImportFile("regression-test-files/hand-histories/ps-lhe-ring-3hands.txt") diff --git a/pyfpdb/fpdb_simple.py b/pyfpdb/fpdb_simple.py index d1b191de..a746cf64 100644 --- a/pyfpdb/fpdb_simple.py +++ b/pyfpdb/fpdb_simple.py @@ -831,14 +831,16 @@ def parseHandStartTime(topline, site): tmp=topline[pos1:pos2] isUTC=True else: - tmp=topline[-30:] - #print "parsehandStartTime, tmp:", tmp + tmp=topline + # print "parsehandStartTime, tmp:", tmp pos = tmp.find("-")+2 tmp = tmp[pos:] #Need to match either # 2008/09/07 06:23:14 ET or - # 2008/08/17 - 01:14:43 (ET) - m = re.match('(?P[0-9]{4})\/(?P[0-9]{2})\/(?P[0-9]{2})[\- ]+(?P
[0-9]{2}):(?P[0-9]{2}):(?P[0-9]{2})',tmp) + # 2008/08/17 - 01:14:43 (ET) or + # 2008/11/12 9:33:31 CET [2008/11/12 3:33:31 ET] + rexx = '(?P[0-9]{4})\/(?P[0-9]{2})\/(?P[0-9]{2})[\- ]+(?P
[0-9]+):(?P[0-9]+):(?P[0-9]+)' + m = re.search(rexx,tmp) #print "year:", int(m.group('YEAR')), "month", int(m.group('MON')), "day", int(m.group('DAY')), "hour", int(m.group('HR')), "minute", int(m.group('MIN')), "second", int(m.group('SEC')) result = datetime.datetime(int(m.group('YEAR')), int(m.group('MON')), int(m.group('DAY')), int(m.group('HR')), int(m.group('MIN')), int(m.group('SEC'))) else: