Coverage for PokerStarsStructures.py: 0%

15 statements  

« prev     ^ index     » next       coverage.py v7.6.7, created at 2024-11-18 00:10 +0000

1#!/usr/bin/env python 

2# -*- coding: utf-8 -*- 

3# 

4# Copyright 2010-2013, Chaz Littlejohn 

5# 

6# This program is free software; you can redistribute it and/or modify 

7# it under the terms of the GNU General Public License as published by 

8# the Free Software Foundation; either version 2 of the License, or 

9# (at your option) any later version. 

10# 

11# This program is distributed in the hope that it will be useful, 

12# but WITHOUT ANY WARRANTY; without even the implied warranty of 

13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 

14# GNU General Public License for more details. 

15# 

16# You should have received a copy of the GNU General Public License 

17# along with this program; if not, write to the Free Software 

18# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 

19 

20######################################################################## 

21 

22 

23from datetime import datetime 

24import pytz 

25 

26 

27class PokerStarsStructures(object): 

28 def __init__(self): 

29 self.versions = [ 

30 pytz.utc.localize(datetime.strptime(d, "%Y/%m/%d %H:%M:%S")) 

31 for d in ("2011/05/05 00:00:00", "2011/05/20 00:00:00") 

32 ] 

33 self.versions.append(datetime.utcnow().replace(tzinfo=pytz.utc)) 

34 self.SnG_Structures = [] 

35 self.SnG_Structures.append( 

36 { 

37 (150, 25, 9): "Turbo", # 7-10 handed, under 45 entrants 

38 # Not unique (300, 40, 9): 'Turbo', #7-10 handed, under 45 entrants 

39 (600, 50, 9): "Turbo", # 7-10 handed, under 45 entrants 

40 (1500, 100, 9): "Turbo", # 7-10 handed, under 45 entrants 

41 (2500, 200, 9): "Turbo", # 7-10 handed, under 45 entrants 

42 (3500, 300, 9): "Turbo", # 7-10 handed, under 45 entrants 

43 (5500, 500, 9): "Turbo", # 7-10 handed, under 45 entrants 

44 (10492, 908, 9): "Turbo", # 7-10 handed, under 45 entrants 

45 (21000, 1500, 9): "Turbo", # 7-10 handed, under 45 entrants 

46 (32500, 2000, 9): "Turbo", # 7-10 handed, under 45 entrants 

47 (52500, 3000, 9): "Turbo", # 7-10 handed, under 45 entrants 

48 (105000, 5000, 9): "Turbo", # 7-10 handed, under 45 entrants 

49 (210000, 9000, 9): "Turbo", # 7-10 handed, under 45 entrants 

50 (100, 20, 9): "Normal", # 7-10 handed, under 45 entrants 

51 (300, 40, 9): "Normal", # 7-10 handed, under 45 entrants #Not unique 

52 (545, 55, 9): "Normal", # 7-10 handed, under 45 entrants 

53 (1000, 100, 9): "Normal", # 7-10 handed, under 45 entrants 

54 (2000, 200, 9): "Normal", # 7-10 handed, under 45 entrants 

55 (3000, 300, 9): "Normal", # 7-10 handed, under 45 entrants 

56 (5000, 500, 9): "Normal", # 7-10 handed, under 45 entrants 

57 (10000, 900, 9): "Normal", # 7-10 handed, under 45 entrants 

58 (20000, 1500, 9): "Normal", # 7-10 handed, under 45 entrants 

59 (30000, 2000, 9): "Normal", # 7-10 handed, under 45 entrants 

60 (50000, 3000, 9): "Normal", # 7-10 handed, under 45 entrants 

61 (100000, 5000, 9): "Normal", # 7-10 handed, under 45 entrants 

62 (200000, 9000, 9): "Normal", # 7-10 handed, under 45 entrants 

63 (300, 25, 6): "Turbo", # 6-handed, Under 30 Entrants 

64 # Not unique (600, 60, 6): 'Turbo', #6-handed, Under 30 Entrants 

65 # Not unique (1200, 100, 6): 'Turbo', #6-handed, Under 30 Entrants 

66 # Not unique (2300, 200, 6): 'Turbo', #6-handed, Under 30 Entrants 

67 (3600, 300, 6): "Turbo", # 6-handed, Under 30 Entrants 

68 (5500, 500, 6): "Turbo", # 6-handed, Under 30 Entrants 

69 (7200, 600, 6): "Turbo", # 6-handed, Under 30 Entrants 

70 (11000, 900, 6): "Turbo", # 6-handed, Under 30 Entrants 

71 (22000, 1500, 6): "Turbo", # 6-handed, Under 30 Entrants 

72 (53500, 3000, 6): "Turbo", # 6-handed, Under 30 Entrants 

73 (106000, 5000, 6): "Turbo", # 6-handed, Under 30 Entrants 

74 (100, 20, 6): "Normal", # 6-handed, Under 30 Entrants 

75 (300, 40, 6): "Normal", # 6-handed, Under 30 Entrants 

76 (600, 60, 6): "Normal", # 6-handed, Under 30 Entrants #Not unique 

77 (1200, 100, 6): "Normal", # 6-handed, Under 30 Entrants #Not unique 

78 (2300, 200, 6): "Normal", # 6-handed, Under 30 Entrants #Not unique 

79 (3500, 300, 6): "Normal", # 6-handed, Under 30 Entrants 

80 (5060, 440, 6): "Normal", # 6-handed, Under 30 Entrants 

81 (7000, 600, 6): "Normal", # 6-handed, Under 30 Entrants 

82 (11200, 900, 6): "Normal", # 6-handed, Under 30 Entrants 

83 (30500, 2000, 6): "Normal", # 6-handed, Under 30 Entrants 

84 (600, 25, 2): "Turbo", # Heads Up 

85 (1100, 50, 2): "Turbo", # Heads Up 

86 (2200, 100, 2): "Turbo", # Heads Up 

87 (3300, 150, 2): "Turbo", # Heads Up 

88 (5500, 250, 2): "Turbo", # Heads Up 

89 (11000, 500, 2): "Turbo", # Heads Up 

90 (22000, 1000, 2): "Turbo", # Heads Up 

91 (33000, 1500, 2): "Turbo", # Heads Up 

92 (55000, 2000, 2): "Turbo", # Heads Up 

93 (110000, 3000, 2): "Turbo", # Heads Up 

94 (220000, 5000, 2): "Turbo", # Heads Up 

95 (550000, 10000, 2): "Turbo", # Heads Up 

96 (200, 20, 2): "Normal", # Heads Up 

97 (500, 25, 2): "Normal", # Heads Up 

98 (1000, 50, 2): "Normal", # Heads Up 

99 (2000, 100, 2): "Normal", # Heads Up 

100 (3000, 150, 2): "Normal", # Heads Up 

101 (5000, 250, 2): "Normal", # Heads Up 

102 (10000, 500, 2): "Normal", # Heads Up 

103 (20000, 1000, 2): "Normal", # Heads Up 

104 (30000, 1500, 2): "Normal", # Heads Up 

105 (50000, 2000, 2): "Normal", # Heads Up 

106 (100000, 3000, 2): "Normal", # Heads Up 

107 (200000, 5000, 2): "Normal", # Heads Up 

108 (500000, 10000, 2): "Normal", # Heads Up 

109 (50, 5, 45): "Turbo", # 45 Entrants 

110 (100, 10, 45): "Turbo", # 45 Entrants 

111 (300, 25, 45): "Turbo", # 45 Entrants 

112 (600, 50, 45): "Turbo", # 45 Entrants 

113 (1100, 100, 45): "Turbo", # 45 Entrants 

114 (2500, 200, 45): "Turbo", # 45 Entrants 

115 (3500, 300, 45): "Turbo", # 45 Entrants 

116 (5500, 500, 45): "Turbo", # 45 Entrants 

117 (10500, 900, 45): "Turbo", # 45 Entrants 

118 (25, 0, 45): "Normal", # 45 Entrants 

119 (100, 20, 45): "Normal", # 45 Entrants 

120 (500, 50, 45): "Normal", # 45 Entrants 

121 (1000, 100, 45): "Normal", # 45 Entrants 

122 (2000, 200, 45): "Normal", # 45 Entrants 

123 (50, 5, 90): "Turbo", # 90 Entrants 

124 (100, 10, 90): "Turbo", # 90 Entrants 

125 (300, 25, 90): "Turbo", # 90 Entrants 

126 (600, 50, 90): "Turbo", # 90 Entrants 

127 (1100, 100, 90): "Turbo", # 90 Entrants 

128 (5500, 500, 90): "Turbo", # 90 Entrants 

129 (100, 8, 10): "Turbo", # Fifty50 

130 (500, 24, 10): "Turbo", # Fifty50 

131 (1000, 48, 10): "Turbo", # Fifty50 

132 (2000, 96, 10): "Turbo", # Fifty50 

133 (3000, 144, 10): "Turbo", # Fifty50 

134 (5000, 240, 10): "Turbo", # Fifty50 

135 (10000, 430, 10): "Turbo", # Fifty50 

136 (100, 11, 10): "Normal", # Fifty50 

137 (500, 30, 10): "Normal", # Fifty50 

138 (1000, 60, 10): "Normal", # Fifty50 

139 (2000, 120, 10): "Normal", # Fifty50 

140 (3000, 180, 10): "Normal", # Fifty50 

141 (5000, 300, 10): "Normal", # Fifty50 

142 (10000, 540, 10): "Normal", # Fifty50 

143 (25, 0, 90): "Normal", # 90 Entrants 

144 (200, 20, 90): "Normal", # 90 Entrants 

145 (500, 50, 90): "Normal", # 90 Entrants 

146 (800, 80, 90): "Normal", # 90 Entrants 

147 (200, 20, 180): "Turbo", # 180 Entrants 

148 (700, 70, 180): "Turbo", # 180 Entrants 

149 (1100, 100, 180): "Turbo", # 180 Entrants 

150 (3300, 300, 180): "Turbo", # 180 Entrants 

151 (400, 40, 180): "Normal", # 180 Entrants 

152 (1000, 100, 180): "Normal", # 180 Entrants 

153 (2000, 200, 180): "Normal", # 180 Entrants 

154 (125, 10, 27): "Normal", # 27 Player Knockout 

155 (125, 15, 90): "Normal", # 90 Player Knockout 

156 (625, 50, 90): "Normal", # 90 Player Knockout 

157 (1250, 100, 90): "Normal", # 90 Player Knockout 

158 (300, 30, 180): "Normal", # 180 Player Rebuy 

159 } 

160 ) 

161 self.SnG_Structures.append( 

162 { 

163 (100, 8, 9, 9): "Hyper", # 7-10 handed, under 45 entrants 

164 (500, 23, 9, 9): "Hyper", # 7-10 handed, under 45 entrants 

165 (500, 21, 6, 6): "Hyper", # 6-handed, Under 45 Entrants 

166 (500, 11, 2, 2): "Hyper", # Heads Up 

167 } 

168 ) 

169 self.SnG_Structures.append( 

170 { 

171 (132, 18, 9): "Turbo", # 7-10 handed, under 45 entrants 

172 (316, 34, 9): "Turbo", # 7-10 handed, under 45 entrants 

173 (645, 55, 9): "Turbo", # 7-10 handed, under 45 entrants 

174 (1389, 111, 9): "Turbo", # 7-10 handed, under 45 entrants 

175 (2778, 222, 9): "Turbo", # 7-10 handed, under 45 entrants 

176 (5556, 444, 9): "Turbo", # 7-10 handed, under 45 entrants 

177 (9280, 720, 9): "Turbo", # 7-10 handed, under 45 entrants 

178 (18780, 1220, 9): "Turbo", # 7-10 handed, under 45 entrants 

179 (28300, 1700, 9): "Turbo", # 7-10 handed, under 45 entrants 

180 (47400, 2600, 9): "Turbo", # 7-10 handed, under 45 entrants 

181 (95700, 4300, 9): "Turbo", # 7-10 handed, under 45 entrants 

182 (192300, 7700, 9): "Turbo", # 7-10 handed, under 45 entrants 

183 (129, 21, 9): "Normal", # 7-10 handed, under 45 entrants 

184 (311, 39, 9): "Normal", # 7-10 handed, under 45 entrants 

185 (637, 63, 9): "Normal", # 7-10 handed, under 45 entrants 

186 (1370, 130, 9): "Normal", # 7-10 handed, under 45 entrants 

187 (2740, 260, 9): "Normal", # 7-10 handed, under 45 entrants 

188 (5480, 520, 9): "Normal", # 7-10 handed, under 45 entrants 

189 (9215, 785, 9): "Normal", # 7-10 handed, under 45 entrants 

190 (18650, 1350, 9): "Normal", # 7-10 handed, under 45 entrants 

191 (28100, 1900, 9): "Normal", # 7-10 handed, under 45 entrants 

192 (47175, 2825, 9): "Normal", # 7-10 handed, under 45 entrants 

193 (132, 18, 6): "Turbo", # 6-handed, Under 30 Entrants 

194 (319, 31, 6): "Turbo", # 6-handed, Under 30 Entrants 

195 (648, 52, 6): "Turbo", # 6-handed, Under 30 Entrants 

196 (1392, 108, 6): "Turbo", # 6-handed, Under 30 Entrants 

197 (2784, 216, 6): "Turbo", # 6-handed, Under 30 Entrants 

198 (5568, 432, 6): "Turbo", # 6-handed, Under 30 Entrants 

199 (9325, 675, 6): "Turbo", # 6-handed, Under 30 Entrants 

200 (18820, 1180, 6): "Turbo", # 6-handed, Under 30 Entrants 

201 (28370, 1630, 6): "Turbo", # 6-handed, Under 30 Entrants 

202 (47500, 2500, 6): "Turbo", # 6-handed, Under 30 Entrants 

203 (96000, 4000, 6): "Turbo", # 6-handed, Under 30 Entrants 

204 (192800, 7200, 6): "Turbo", # 6-handed, Under 30 Entrants 

205 (129, 21, 6): "Normal", # 6-handed, Under 30 Entrants 

206 (313, 37, 6): "Normal", # 6-handed, Under 30 Entrants 

207 (639, 61, 6): "Normal", # 6-handed, Under 30 Entrants 

208 (1379, 121, 6): "Normal", # 6-handed, Under 30 Entrants 

209 (2758, 242, 6): "Normal", # 6-handed, Under 30 Entrants 

210 (5516, 484, 6): "Normal", # 6-handed, Under 30 Entrants 

211 (9260, 740, 6): "Normal", # 6-handed, Under 30 Entrants 

212 (18690, 1310, 6): "Normal", # 6-handed, Under 30 Entrants 

213 (28170, 1830, 6): "Normal", # 6-handed, Under 30 Entrants 

214 (47275, 2725, 6): "Normal", # 6-handed, Under 30 Entrants 

215 (140, 10, 2): "Turbo", # Heads Up 

216 (332, 18, 2): "Turbo", # Heads Up 

217 (671, 29, 2): "Turbo", # Heads Up 

218 (1439, 61, 2): "Turbo", # Heads Up 

219 (2878, 122, 2): "Turbo", # Heads Up 

220 (5767, 233, 2): "Turbo", # Heads Up 

221 (9632, 368, 2): "Turbo", # Heads Up 

222 (19385, 615, 2): "Turbo", # Heads Up 

223 (29125, 875, 2): "Turbo", # Heads Up 

224 (48760, 1240, 2): "Turbo", # Heads Up 

225 (97920, 2080, 2): "Turbo", # Heads Up 

226 (196250, 3750, 2): "Turbo", # Heads Up 

227 (493700, 6300, 2): "Turbo", # Heads Up 

228 (138, 12, 2): "Normal", # Heads Up 

229 (329, 21, 2): "Normal", # Heads Up 

230 (667, 33, 2): "Normal", # Heads Up 

231 (1429, 71, 2): "Normal", # Heads Up 

232 (2857, 143, 2): "Normal", # Heads Up 

233 (5728, 272, 2): "Normal", # Heads Up 

234 (9569, 431, 2): "Normal", # Heads Up 

235 (19275, 725, 2): "Normal", # Heads Up 

236 (28985, 1015, 2): "Normal", # Heads Up 

237 (48540, 1460, 2): "Normal", # Heads Up 

238 (97560, 2440, 2): "Normal", # Heads Up 

239 (195600, 4400, 2): "Normal", # Heads Up 

240 (492600, 7400, 2): "Normal", # Heads Up 

241 (45, 5, 45): "Turbo", # 45 Entrants 

242 (136, 14, 45): "Turbo", # 45 Entrants 

243 (319, 31, 45): "Turbo", # 45 Entrants 

244 (918, 82, 45): "Turbo", # 45 Entrants 

245 (2765, 235, 45): "Turbo", # 45 Entrants 

246 (136, 14, 48): "Turbo", # 48 Entrants 

247 (136, 14, 36): "Turbo", # 36 Entrants 

248 (23, 2, 45): "Normal", # 45 Entrants 

249 (91, 9, 45): "Normal", # 45 Entrants 

250 (546, 54, 45): "Normal", # 45 Entrants 

251 (45, 5, 90): "Turbo", # 90 Entrants 

252 (91, 9, 90): "Turbo", # 90 Entrants 

253 (139, 11, 10): "Turbo", # Fifty50 

254 (330, 20, 10): "Turbo", # Fifty50 

255 (668, 32, 10): "Turbo", # Fifty50 

256 (1431, 69, 10): "Turbo", # Fifty50 

257 (2863, 137, 10): "Turbo", # Fifty50 

258 (5725, 275, 10): "Turbo", # Fifty50 

259 (9586, 414, 10): "Turbo", # Fifty50 

260 (19305, 695, 10): "Turbo", # Fifty50 

261 (29160, 840, 10): "Turbo", # Fifty50 

262 (48720, 1280, 10): "Turbo", # Fifty50 

263 (135, 15, 10): "Normal", # Fifty50 

264 (326, 24, 10): "Normal", # Fifty50 

265 (660, 40, 10): "Normal", # Fifty50 

266 (1415, 85, 10): "Normal", # Fifty50 

267 (2830, 170, 10): "Normal", # Fifty50 

268 (5660, 340, 10): "Normal", # Fifty50 

269 (9490, 510, 10): "Normal", # Fifty50 

270 (19135, 865, 10): "Normal", # Fifty50 

271 (23, 2, 90): "Normal", # 90 Entrants 

272 (228, 22, 90): "Normal", # 90 Entrants 

273 (228, 22, 180): "Turbo", # 180 Entrants 

274 (734, 66, 180): "Turbo", # 180 Entrants 

275 (1377, 123, 180): "Turbo", # 180 Entrants 

276 (3213, 287, 180): "Turbo", # 180 Entrants 

277 (410, 40, 180): "Normal", # 180 Entrants 

278 (1005, 95, 180): "Normal", # 180 Entrants 

279 (9, 1, 240): "Normal", # 240 Entrants 

280 (9, 1, 360): "Turbo", # 360 Entrants 

281 (45, 5, 360): "Turbo", # 360 Entrants 

282 (135, 15, 90): "Normal", # 90 Player Knockout 

283 (650, 50, 90): "Normal", # 90 Player Knockout 

284 (319, 31, 180): "Normal", # 180 Player Rebuy 

285 (139, 11, 9): "Hyper", # 7-10 handed, under 45 entrants 

286 (331, 19, 9): "Hyper", # 7-10 handed, under 45 entrants 

287 (670, 30, 9): "Hyper", # 7-10 handed, under 45 entrants 

288 (1439, 61, 9): "Hyper", # 7-10 handed, under 45 entrants 

289 (2877, 123, 9): "Hyper", # 7-10 handed, under 45 entrants 

290 (5754, 246, 9): "Hyper", # 7-10 handed, under 45 entrants 

291 (9632, 368, 9): "Hyper", # 7-10 handed, under 45 entrants 

292 (19318, 682, 9): "Hyper", # 7-10 handed, under 45 entrants 

293 (140, 10, 6): "Hyper", # 6-handed, Under 30 Entrants 

294 (332, 18, 6): "Hyper", # 6-handed, Under 30 Entrants 

295 (671, 29, 6): "Hyper", # 6-handed, Under 30 Entrants 

296 (1441, 59, 6): "Hyper", # 6-handed, Under 30 Entrants 

297 (2883, 117, 6): "Hyper", # 6-handed, Under 30 Entrants 

298 (5766, 234, 6): "Hyper", # 6-handed, Under 30 Entrants 

299 (9649, 351, 6): "Hyper", # 6-handed, Under 30 Entrants 

300 (19352, 648, 6): "Hyper", # 6-handed, Under 30 Entrants 

301 (29140, 860, 6): "Hyper", # 6-handed, Under 30 Entrants 

302 (48752, 1248, 6): "Hyper", # 6-handed, Under 30 Entrants 

303 (144, 6, 2): "Hyper", # Heads Up 

304 (340, 10, 2): "Hyper", # Heads Up 

305 (685, 15, 2): "Hyper", # Heads Up 

306 (1469, 31, 2): "Hyper", # Heads Up 

307 (2937, 63, 2): "Hyper", # Heads Up 

308 (5874, 126, 2): "Hyper", # Heads Up 

309 (9812, 188, 2): "Hyper", # Heads Up 

310 (19666, 334, 2): "Hyper", # Heads Up 

311 (29551, 449, 2): "Hyper", # Heads Up 

312 (49335, 665, 2): "Hyper", # Heads Up 

313 (98880, 1120, 2): "Hyper", # Heads Up 

314 (91, 9, 180): "Hyper", # 180 Entrants 

315 (2, 0, 990): "Hyper", # 990 Entrants 

316 } 

317 ) 

318 

319 def lookupSnG(self, key, startTime): 

320 for i in range(len(self.versions)): 

321 if startTime < self.versions[i]: 

322 struct = self.SnG_Structures[i].get(key) 

323 return struct