From 407c93349ce6423937143dce56ee50844ed446da Mon Sep 17 00:00:00 2001 From: Robert Wielinga Date: Sat, 12 Mar 2011 13:59:22 +0100 Subject: [PATCH] Added required files for PacificPoker HHC --- pyfpdb/AlchemyMappings.py | 1 + pyfpdb/Database.py | 1 + pyfpdb/HUD_config.test.xml | 44 ++++++++++++++++ pyfpdb/Options.py | 1 + pyfpdb/TestHandsPlayers.py | 13 ++++- .../Flop/888-FLH-PM-0.50-1.00.txt.gz | Bin 0 -> 585 bytes ...888-FLH-PM-1.00-2.00-stacks_over_1k.txt.gz | Bin 0 -> 7565 bytes .../Flop/888-FLH-USD-0.02-0.04.txt.gz | Bin 0 -> 3349 bytes .../PacificPoker/Flop/888-FLO-PM-30-60.txt.gz | Bin 0 -> 866 bytes .../Flop/888-FLOHL-PM-30-60.txt.gz | Bin 0 -> 661 bytes .../Flop/888-LHE-USD-0.01-0.02.txt.gz | Bin 0 -> 484 bytes .../Flop/888-NLH-USD-0.01-0.02.txt.gz | Bin 0 -> 3609 bytes .../Flop/888-NLHE-PM-1.00-2.00.txt.gz | Bin 0 -> 693 bytes .../Flop/888-NLHE-USD-0.01-0.02.txt | 48 ++++++++++++++++++ .../Flop/888-PLH-PM-1.00-2.00.txt.gz | Bin 0 -> 2359 bytes 15 files changed, 106 insertions(+), 2 deletions(-) create mode 100644 pyfpdb/regression-test-files/cash/PacificPoker/Flop/888-FLH-PM-0.50-1.00.txt.gz create mode 100644 pyfpdb/regression-test-files/cash/PacificPoker/Flop/888-FLH-PM-1.00-2.00-stacks_over_1k.txt.gz create mode 100644 pyfpdb/regression-test-files/cash/PacificPoker/Flop/888-FLH-USD-0.02-0.04.txt.gz create mode 100644 pyfpdb/regression-test-files/cash/PacificPoker/Flop/888-FLO-PM-30-60.txt.gz create mode 100644 pyfpdb/regression-test-files/cash/PacificPoker/Flop/888-FLOHL-PM-30-60.txt.gz create mode 100644 pyfpdb/regression-test-files/cash/PacificPoker/Flop/888-LHE-USD-0.01-0.02.txt.gz create mode 100644 pyfpdb/regression-test-files/cash/PacificPoker/Flop/888-NLH-USD-0.01-0.02.txt.gz create mode 100644 pyfpdb/regression-test-files/cash/PacificPoker/Flop/888-NLHE-PM-1.00-2.00.txt.gz create mode 100644 pyfpdb/regression-test-files/cash/PacificPoker/Flop/888-NLHE-USD-0.01-0.02.txt create mode 100644 pyfpdb/regression-test-files/cash/PacificPoker/Flop/888-PLH-PM-1.00-2.00.txt.gz diff --git a/pyfpdb/AlchemyMappings.py b/pyfpdb/AlchemyMappings.py index c1110281..f71adc70 100644 --- a/pyfpdb/AlchemyMappings.py +++ b/pyfpdb/AlchemyMappings.py @@ -370,6 +370,7 @@ class Site(object): (10, 'Partouche', 'PA'), (11, 'Carbon', 'CA'), (12, 'PKR', 'PK'), + (13, 'PacificPoker', 'P8'), ] INITIAL_DATA_KEYS = ('id', 'name', 'code') diff --git a/pyfpdb/Database.py b/pyfpdb/Database.py index 9812300b..f19a00c6 100644 --- a/pyfpdb/Database.py +++ b/pyfpdb/Database.py @@ -1519,6 +1519,7 @@ class Database: c.execute("INSERT INTO Sites (name,code) VALUES ('Betfair', 'BF')") c.execute("INSERT INTO Sites (name,code) VALUES ('Absolute', 'AB')") c.execute("INSERT INTO Sites (name,code) VALUES ('PartyPoker', 'PP')") + c.execute("INSERT INTO Sites (name,code) VALUES ('PacificPoker', 'P8')") c.execute("INSERT INTO Sites (name,code) VALUES ('Partouche', 'PA')") c.execute("INSERT INTO Sites (name,code) VALUES ('Carbon', 'CA')") c.execute("INSERT INTO Sites (name,code) VALUES ('PKR', 'PK')") diff --git a/pyfpdb/HUD_config.test.xml b/pyfpdb/HUD_config.test.xml index f8a99ee3..dca95cd1 100644 --- a/pyfpdb/HUD_config.test.xml +++ b/pyfpdb/HUD_config.test.xml @@ -389,6 +389,49 @@ Left-Drag to Move" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pyfpdb/Options.py b/pyfpdb/Options.py index e0988705..2690e70a 100644 --- a/pyfpdb/Options.py +++ b/pyfpdb/Options.py @@ -83,6 +83,7 @@ def site_alias(alias): """Function for converting various site aliases to the FPDB name""" tmp = alias aliases = { + "PacificPoker" : "PacificPoker", "PokerStars" : "PokerStars", "Full Tilt Poker": "Full Tilt Poker", "PartyPoker" : "PartyPoker", diff --git a/pyfpdb/TestHandsPlayers.py b/pyfpdb/TestHandsPlayers.py index 58d56ba1..9f63cb66 100644 --- a/pyfpdb/TestHandsPlayers.py +++ b/pyfpdb/TestHandsPlayers.py @@ -172,6 +172,8 @@ def compare(leaf, importer, errors, site): # Test if this is a hand history file if filename.endswith('.txt'): # test if there is a .hp version of the file + print "Site: %s" % site + print "Filename: %s" % filename importer.addBulkImportImportFileOrDir(filename, site=site) (stored, dups, partial, errs, ttime) = importer.runImport() @@ -213,7 +215,7 @@ def usage(): print "Run tests for a sinlge site:" print "\t./TestHandsPlayers -s " print "Run tests for a sinlge file in a site:" - print "\t./TestHandsPlayers -s -f " + print "\t./TestHandsPlayers -s -f " sys.exit(0) def main(argv=None): @@ -255,6 +257,7 @@ def main(argv=None): importer.setCallHud(False) importer.setFakeCacheHHC(True) + PacificPokerErrors= FpdbError('PacificPoker') PokerStarsErrors = FpdbError('PokerStars') FTPErrors = FpdbError('Full Tilt Poker') PartyPokerErrors = FpdbError('Party Poker') @@ -271,7 +274,7 @@ def main(argv=None): WinamaxErrors = FpdbError('Winamax') ErrorsList = [ - PokerStarsErrors, FTPErrors, PartyPokerErrors, + PacificPokerErrors, PokerStarsErrors, FTPErrors, PartyPokerErrors, BetfairErrors, OnGameErrors, AbsoluteErrors, EverleafErrors, CarbonErrors, PKRErrors, iPokerErrors, WinamaxErrors, UltimateBetErrors, @@ -279,6 +282,7 @@ def main(argv=None): ] sites = { + 'PacificPoker' : False, 'PokerStars' : False, 'Full Tilt Poker' : False, 'PartyPoker' : False, @@ -301,6 +305,11 @@ def main(argv=None): else: sites[options.sitename] = True + if sites['PacificPoker'] == True and not single_file_test: + walk_testfiles("regression-test-files/cash/PacificPoker/", compare, importer, PacificPokerErrors, "PacificPoker") + elif sites['PacificPoker'] == True and single_file_test: + walk_testfiles(options.filename, compare, importer, PacificPokerErrors, "PacificPoker") + if sites['PokerStars'] == True and not single_file_test: walk_testfiles("regression-test-files/cash/Stars/", compare, importer, PokerStarsErrors, "PokerStars") walk_testfiles("regression-test-files/tour/Stars/", compare, importer, PokerStarsErrors, "PokerStars") diff --git a/pyfpdb/regression-test-files/cash/PacificPoker/Flop/888-FLH-PM-0.50-1.00.txt.gz b/pyfpdb/regression-test-files/cash/PacificPoker/Flop/888-FLH-PM-0.50-1.00.txt.gz new file mode 100644 index 0000000000000000000000000000000000000000..bc6ccf32856c734b4cb16403bfc92e89eccf4417 GIT binary patch literal 585 zcmV-P0=E4hiwFoMKzdC83phA9Ek;a8El^D@FfKJPEio=IFfMd>bO5!KOOM(x5XbNN z6eIOQD@x;pkjJeLwWzJCRpGYUgOeEI;>6T;pzNpLF(JXQNL{I_FOd1q>o=a{)fZYb z_#q*Ka2BKqNutnuV-I|!TGJhcIc-Xqb8VzLz)C7Oh78_t^!EHoJFm7lKSZ0kKk-^@)s2=HrjJ>&wdW$ z*?7TsGG8&Bk~)2^gxq3>a1XO;3~@1ruN7S9>Y}c*TtIcEfv9_QaB^n4F8>jTxHN;w zZDoZoiM}yg2iml%>7WDsLfF5N1vklpTV%m)vfw#caNd!Q%3)A^hsBQ&N%=yE|J?P^ zn;|DC2no4&s+?sRaN4JiHqr literal 0 HcmV?d00001 diff --git a/pyfpdb/regression-test-files/cash/PacificPoker/Flop/888-FLH-PM-1.00-2.00-stacks_over_1k.txt.gz b/pyfpdb/regression-test-files/cash/PacificPoker/Flop/888-FLH-PM-1.00-2.00-stacks_over_1k.txt.gz new file mode 100644 index 0000000000000000000000000000000000000000..b5b546d6a60a285769ed09fea2b8e0b1823400c3 GIT binary patch literal 7565 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 literal 0 HcmV?d00001 diff --git a/pyfpdb/regression-test-files/cash/PacificPoker/Flop/888-FLH-USD-0.02-0.04.txt.gz b/pyfpdb/regression-test-files/cash/PacificPoker/Flop/888-FLH-USD-0.02-0.04.txt.gz new file mode 100644 index 0000000000000000000000000000000000000000..32a46ca54ac9e14d6d45a39bb613dd1bd864da84 GIT binary patch literal 3349 zcmV+w4eIhAiwFoVE_zJ>3phA9Ek;a8Emc!QEif)HGA%GJFf=Z7cys{mUE7Y^$Ps;? zuV`TNup3M!>p-5=k$1d$qu<{qBl`g zHSvV}vQ6_fjlJ?JE~+MxkZiL{AB11Fu(~BmNS;1!B6|N&Hu-+l6er}<YCtjA)_!Fs4&NO!5$Mnb1sdvvXq_K1w6TPhIBzY1<0TjfQykq!%i zA=?fTA}-5D26O)045R#PbTlnGNBA#048w?kjtjmrXzD2(hrR`cWp7ss2Z=9G6rO{@ zQ3x=Y-FO^kus4mtek@yi+|<#xzMD0D-FV8{Jnhi84{j}eRSaR0!m)}YBV3(4Kz(ps z>+dM;%nZSV+W`1BqC3jAT#oe5aS(^w*H?j9`9IOQWfh1cDM#Xgv*^;8hk6<_FA#Vd ztKP0O4v`v~xzm`+Cl2R#AxL8u8RW2;$Vx2tSZYqy26%r(b=;*cQt%2%TqSyo*lUPo zn9!@`Xq00O3%y~Op`9T^>^BjyzPMuHtrER?SM=6AR8MKy`7%8@%mETo5nGT@_I4#< zl+YMMLXIXOx2GA8O;i#p%no>Q5mBoLNBd4~r#?YxYKay~H?CZHKOscQN-ekIwIL-m zC(&SL*cXTl05$V1ay-@B9n?Oma%i994N+~-fPPB@eogo3!?R3ZizZKFyYz{n1#B#J#JlXQ=nYir zKo}~)PoPdOMKXjNv~1D{uzvWNY+J{#N|G%K?&~GlZKlL)o67yX$OBj@d>dBE-j1x~ zUc&gil1$G^cH_k`D;dm6YGNfGU1H?WpnYb!QNzWU1)YzF!hVa<1Ws!mMs~7B$Q^+xd(1_X~G@`Bur3piozbujz z2%=QLIGmh`2xKNQU!u_(K@X(8fH3Zk8;JT6o^SHAIM6s#>x7}0e4WL=znNyq_IBrv?_VNuk<@{+lcs8AOC1*CG}1ilcu=VeAex#H z^a@>b*oP=7iX!tFsFsu*k4_C!{R#ZiW?qs0``I%-K#d5F!{ZJhRL@pD*XGUEzM)#+ zF_>3U3p@&E)Lf*iX+VC1Lj{k>X4#hN?dmsp;-Ly2uBwpU#BlM?4`II{zoNl!l+Ngt z*H}TZw7+m~Qg)>Tp_(0e--Vz{eQw>wrQOns+chu_e2g6uNh#i2U}{L!CwV?fB`sU5 zCTJt)30kgJOJUd&+s+MHQNp}nqF9uO%9N&;0rf!;LHOvwLD*;(dZAt{Pw>!N3xf3uD--axUMx!qO8%f34G@*_73zt%B zs0g8}zuEcuh6lGxqcNP@2P7U)@XjXPQ5$oic!MmyaWAw89ICe~v;4$k^U5rUSi%rE zxN-KVT+RN4qxJwt&1qn=|(>TUSLQvb-NSI>%$y!b8 zBQ*dUnaqHJ22^A@i!8*n>g^6Rfts|QA>>m7&Wy8a-)YG2Ar12K`q_*1*?B{C3^3A4V!@9$6GBRc}{1g$bt@k~{`FG2?FJ zqE>k^$zxj4)V>8aC)Lua*qgFEhj)YEa45<6I4uJRA=AcA?IVarmnlM3dkV~ybKzUe z_Nm^kWQY+(pG zQS~+#9;~YFp>x$;c!`Iq-ps*kkA6@ay{I7hgYOZ_AT6=wV03^rb`{hAg zLH;m`EDj!1y%8I!ll&ak=cv;8ro%CYkl6i)VZqTYi0*U%q)^h)!P*mVZu?t$C23*6oDBO;?n%?BBREON!6UEK?^a` zyWo--5f-yOs<%5vaD^y$$05uZ3H}(4Bh1e^jqa+-eg`9+jyj;!qrze&v{4AMw<|^> zug=~Xk6xHPvrE{L&{~4eAev|j3a$0=s@Zu_Yh|H6rDA#J znkgbP;E?0M^DQE>>g^7ATts&Ewvk!NQ~G^)TT?_<2TZB;6#>qb&JcYAFSb}GuX?-U zAx=EhUM6>i=9!~!{Ks*CEGv&>g@zRk$4{Rx81Cd9Up+tqyu^D_txTs zd|o}SPOJ4{UuZ-;Dx2%($YBkxt8*_CUeyNrMOA*+`Lux*7rUS=0A~gK!M+KWp&}Hh@U2s3083^A-cgo(bfMLkRalUit zj|`aM2F$3oJ|1ROqb*u@Fr#&LNQtUu+ttre7K?XAkOLtVBUJGrU29h#k)aSj=A8Ax fynWbdQ8a6=tC~a+0y<5=?uP#Wd_eIP2zdYiCozdF literal 0 HcmV?d00001 diff --git a/pyfpdb/regression-test-files/cash/PacificPoker/Flop/888-FLO-PM-30-60.txt.gz b/pyfpdb/regression-test-files/cash/PacificPoker/Flop/888-FLO-PM-30-60.txt.gz new file mode 100644 index 0000000000000000000000000000000000000000..031aba773f5db16ef3c2f575414e2727663cab33 GIT binary patch literal 866 zcmV-o1D*UIiwFpSHF`||3phA9Ek;aFEl^D@GcYYSFfMd>bO5cEO>^2X5Qgvkik-9 zBA`AAgI?HkJD>Fj&bd0i$_Y%4ugPOP;}Wo{vNUaso3n6@|h}c-4Uj&ii-QKkoVrPJwlaL%wW;WR@0+IxgQ0 z7ZSZy3o?_cRG@O6WiZldf(O@o>}+GL3`XhGdYd|r_$uJL;Q0Fq#`0wfF)uK`nD32} z7#*sWu_2-0sS>#Caw5LuxWY)3RjlR(Xv+ok`g<-=&WmYvf$@h4KPdAPnT^%1X5XUOuWK&SXRQ6D z=z-35yTGj+L!;r;CUWa-r4ZxX&-0uk0nFM{iG0BmFvNG>8+ReZ_dnEXj7a$$)u4@s zHXhnA{PqJSrC48~ z+S@N5Pa+e>wzfW!+y2qmyR2tqON@<&6$UIqU1BO-nb|}x?W~})L+v)Py(BAT+q@dY zGS01O6JRwAuo^skGS$TXnp*nbEX40{tm##gw01-_{LqPp;BBL{3~q&9#Vz|b=BI^e zF6q62X=wd!rm=`Q2QrNw%rs_aTF{Cux9ioWwK}`Ppp{%~Nv;N%cEDvEc^kTHy?;>K zHKOiA6vcwng-LWB?IBXNvX#^_rPzm@WWV$M^GkCyXduGg%|lfm3M?UNK>06d+N@g% surqB?OtYR>b^H2_nPqL`>q$gUCCm1%+nCK8xZ9cJANU5@6jBWU0GD~I^#A|> literal 0 HcmV?d00001 diff --git a/pyfpdb/regression-test-files/cash/PacificPoker/Flop/888-FLOHL-PM-30-60.txt.gz b/pyfpdb/regression-test-files/cash/PacificPoker/Flop/888-FLOHL-PM-30-60.txt.gz new file mode 100644 index 0000000000000000000000000000000000000000..ee4668dd9b7ec5274fdd8c57a3331168673358f2 GIT binary patch literal 661 zcmV;G0&4vqiwFpRHF`||3phA9Ek;aFNK7qIO)WDpEjBPNba-?CwNy=Sn?Mx2^D9Q` z#i=Oe`(tnUP-`Voo7BlEimC@S>irT7cSoHseV z_JDW{1#jCePcwr2*t4QwzR-sODBe-Y-IeiRN+z;IFVeCzmxL}utl7Cr94kde@p z+PZe%(lrCmwt}&1#IU%z|FN*F`zylZXw(ujJU#Jel08EhI#w_u34^N2>{)EXpqJvf zrWePS6A@vQxR$C@P&KbAr2SIx-~^Axpi{$Xxf(#vel&)uEM=7|3IQ$zCv=5ezBb5s zOPi%l4|X!@t@O!*he>fSe^NQfo)m{gO-kbuCbiMozBYA}6(V~+QoO9>nzZ5pt}+o6 zCN48fo9Gj78jQ~L>%^5V436~M#EmWtPW1c^Cf=#*Hf^KTU8(=B>MuIl@`ZjtJ0X7l z&xE9cqV*6S?fdOW^bW)6UNvR>l{y*a)f+P0_a;2-d2~7~a1cAR4vBC| v;3?hX{^PT2$#(7hTnBT<$WA81kyRzKPUL-hy?D~}Jwn$XelJe!!UX^TDZfx? literal 0 HcmV?d00001 diff --git a/pyfpdb/regression-test-files/cash/PacificPoker/Flop/888-LHE-USD-0.01-0.02.txt.gz b/pyfpdb/regression-test-files/cash/PacificPoker/Flop/888-LHE-USD-0.01-0.02.txt.gz new file mode 100644 index 0000000000000000000000000000000000000000..23d61c3e4272781811bfbb734e50659aebb310b4 GIT binary patch literal 484 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 literal 0 HcmV?d00001 diff --git a/pyfpdb/regression-test-files/cash/PacificPoker/Flop/888-NLHE-PM-1.00-2.00.txt.gz b/pyfpdb/regression-test-files/cash/PacificPoker/Flop/888-NLHE-PM-1.00-2.00.txt.gz new file mode 100644 index 0000000000000000000000000000000000000000..bd60ce1d63b15625b99281987255ab4eab9c896a GIT binary patch literal 693 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 literal 0 HcmV?d00001