pokerstats 2.0.4 → 2.0.5
Sign up to get free protection for your applications and to get access to all the features.
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.0.
|
1
|
+
2.0.5
|
@@ -25,7 +25,7 @@ module Pokerstats
|
|
25
25
|
##
|
26
26
|
|
27
27
|
def hand_record
|
28
|
-
raise "#{HAND_RECORD_INCOMPLETE_MESSAGE}: #{(HAND_INFORMATION_KEYS - @hand_information.keys).inspect}" unless (HAND_INFORMATION_KEYS - @hand_information.keys).empty?
|
28
|
+
raise Pokerstats::HandHistoryParseError, "#{HAND_RECORD_INCOMPLETE_MESSAGE}: #{(HAND_INFORMATION_KEYS - @hand_information.keys).inspect}" unless (HAND_INFORMATION_KEYS - @hand_information.keys).empty?
|
29
29
|
HAND_INFORMATION_KEYS.inject({}) do |hash, key|
|
30
30
|
hash.merge!(key => @hand_information[key])
|
31
31
|
end
|
@@ -46,9 +46,9 @@ module Pokerstats
|
|
46
46
|
end
|
47
47
|
|
48
48
|
def player_records
|
49
|
-
raise PLAYER_RECORDS_NO_PLAYER_REGISTERED if players.empty?
|
50
|
-
raise PLAYER_RECORDS_NO_BUTTON_REGISTERED if button.nil?
|
51
|
-
raise PLAYER_RECORDS_OUT_OF_BALANCE if out_of_balance
|
49
|
+
raise Pokerstats::HandHistoryParseError, PLAYER_RECORDS_NO_PLAYER_REGISTERED if players.empty?
|
50
|
+
raise Pokerstats::HandHistoryParseError, PLAYER_RECORDS_NO_BUTTON_REGISTERED if button.nil?
|
51
|
+
raise Pokerstats::HandHistoryParseError, PLAYER_RECORDS_OUT_OF_BALANCE if out_of_balance
|
52
52
|
self.player_records_without_validation
|
53
53
|
end
|
54
54
|
|
@@ -62,7 +62,7 @@ module Pokerstats
|
|
62
62
|
|
63
63
|
def register_player player
|
64
64
|
screen_name = player[:screen_name]
|
65
|
-
raise "#{PLAYER_RECORDS_DUPLICATE_PLAYER_NAME}: #{screen_name.inspect}" if players.member?(screen_name)
|
65
|
+
raise Pokerstats::HandHistoryParseError, "#{PLAYER_RECORDS_DUPLICATE_PLAYER_NAME}: #{screen_name.inspect}" if players.member?(screen_name)
|
66
66
|
@cached_player_position = nil
|
67
67
|
@player_hashes << player
|
68
68
|
plugins.each{|each| each.register_player(screen_name, @street_state)} #why the second parameter?
|
@@ -169,7 +169,7 @@ module Pokerstats
|
|
169
169
|
end
|
170
170
|
|
171
171
|
def register_action(screen_name, description, options={})
|
172
|
-
raise "#{PLAYER_RECORDS_UNREGISTERED_PLAYER}: #{screen_name.inspect}" unless players.member?(screen_name)
|
172
|
+
raise Pokerstats::HandHistoryParseError, "#{PLAYER_RECORDS_UNREGISTERED_PLAYER}: #{screen_name.inspect}" unless players.member?(screen_name)
|
173
173
|
plugins.each do |each|
|
174
174
|
each.apply_action(
|
175
175
|
{:screen_name => screen_name, :description => description, :aggression => aggression(description)}.update(options),
|
@@ -34,10 +34,10 @@ module Pokerstats
|
|
34
34
|
@aggregate_statistics[each_player] ||= {}
|
35
35
|
|
36
36
|
@aggregate_statistics[each_player][:t_hands] ||= 0
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
37
|
+
@aggregate_statistics[each_player][:t_hands] += 1
|
38
|
+
@aggregate_statistics[each_player][:t_vpip] ||= 0
|
39
|
+
@aggregate_statistics[each_player][:t_vpip] += 1 unless reports[each_player][:paid].zero?
|
40
|
+
aggregate_numeric_statistic each_player, reports, :t_posted, :posted
|
41
41
|
aggregate_numeric_statistic each_player, reports, :t_paid, :paid
|
42
42
|
aggregate_numeric_statistic each_player, reports, :t_won, :won
|
43
43
|
aggregate_numeric_statistic each_player, reports, :t_preflop_passive, :preflop_passive
|
@@ -62,11 +62,11 @@ module Pokerstats
|
|
62
62
|
def parse(line)
|
63
63
|
case line
|
64
64
|
when /PokerStars Game #([0-9]+): Tournament #([0-9]+), (\$[0-9+$]+) ([^\-]*) - Level ([IVXL]+) \((#{CASH})\/(#{CASH})\) - (.*)$/
|
65
|
-
@stats.update_hand :name => "PS#{$1}", :description=> "#{$2}, #{$3} #{$4}", :tournament=> $2, :sb=> $6.to_d, :bb=> $7.to_d, :played_at=> Time.parse($8), :street => :prelude
|
65
|
+
@stats.update_hand :name => "PS#{$1}", :description=> "#{$2}, #{$3} #{$4}", :tournament=> $2, :sb=> $6.to_d, :bb=> $7.to_d, :played_at=> Time.parse($8), :street => :prelude, :board => ""
|
66
66
|
when /PokerStars Game #([0-9]+): +([^(]*) \((#{CASH})\/(#{CASH})\) - (.*)$/
|
67
|
-
@stats.update_hand :name => "PS#{$1}", :description=> "#{$2} (#{$3}/#{$4})", :tournament=> nil, :sb=> cash_to_d($3), :bb=> cash_to_d($4), :played_at=> Time.parse($5), :street => :prelude
|
67
|
+
@stats.update_hand :name => "PS#{$1}", :description=> "#{$2} (#{$3}/#{$4})", :tournament=> nil, :sb=> cash_to_d($3), :bb=> cash_to_d($4), :played_at=> Time.parse($5), :street => :prelude, :board => ""
|
68
68
|
when /PokerStars Game #([0-9]+): +([^(]*) \((#{CASH})\/(#{CASH}) USD\) - (.*)$/
|
69
|
-
@stats.update_hand :name => "PS#{$1}", :description=> "#{$2} (#{$3}/#{$4})", :tournament=> nil, :sb=> cash_to_d($3), :bb=> cash_to_d($4), :played_at=> Time.parse($5), :street => :prelude
|
69
|
+
@stats.update_hand :name => "PS#{$1}", :description=> "#{$2} (#{$3}/#{$4})", :tournament=> nil, :sb=> cash_to_d($3), :bb=> cash_to_d($4), :played_at=> Time.parse($5), :street => :prelude, :board => ""
|
70
70
|
when /PokerStars Game #([0-9]+):/
|
71
71
|
raise HandHistoryParseError, "invalid hand record: #{line}"
|
72
72
|
when /\*\*\* HOLE CARDS \*\*\*/
|
data/pokerstats.gemspec
CHANGED
@@ -38,10 +38,10 @@ describe PokerstarsHandHistoryParser, "when parsing structural matter" do
|
|
38
38
|
:bb => "20".to_d,
|
39
39
|
:played_at => Time.parse("2008/10/31 17:25:42 ET"),
|
40
40
|
:tournament => "117620218",
|
41
|
-
:street => :prelude
|
41
|
+
:street => :prelude,
|
42
|
+
:board => "" # due to pokerstars hand history bug (does not have Board record unless flop is seen)
|
42
43
|
)
|
43
44
|
@parser.parse("PokerStars Game #21650436825: Tournament #117620218, $10+$1 Hold'em No Limit - Level I (10/20) - 2008/10/31 17:25:42 ET")
|
44
|
-
puts @stats.report_hand_information
|
45
45
|
end
|
46
46
|
|
47
47
|
it "should recognize a tournament header" do
|
@@ -56,7 +56,8 @@ describe PokerstarsHandHistoryParser, "when parsing structural matter" do
|
|
56
56
|
:bb => "0.50".to_d,
|
57
57
|
:played_at => Time.parse("2008/10/31 17:14:44 ET"),
|
58
58
|
:tournament => nil,
|
59
|
-
:street => :prelude
|
59
|
+
:street => :prelude,
|
60
|
+
:board => "" # due to pokerstars hand history bug
|
60
61
|
)
|
61
62
|
@parser.parse("PokerStars Game #21650146783: Hold'em No Limit ($0.25/$0.50) - 2008/10/31 17:14:44 ET")
|
62
63
|
end
|