steam_hlds_log_parser 0.4.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: 30af9317dcddbf6bebd31d3bb02ff5df117db707
|
4
|
-
data.tar.gz: ab06662bf153b61c2cdab5b9d64209ced673e4e9
|
5
2
|
SHA512:
|
6
|
-
|
7
|
-
|
3
|
+
data.tar.gz: 07e4b392ab7437fcfdc19b459ed818ef2f9ea568f7bb77790f90aa2225f5bde3c99f28af74684d1ea8fcde0b033fae332a3b9e24401dd20001a055b3eb7cdbe7
|
4
|
+
metadata.gz: 6b3effe39ddd007a2970b3ba3887e031b82042fec141a87d71f288e10f948535a4ba9abd7437a54722472f42f2b00cd59f6cd8622468c1b1a08afd0be591ed62
|
5
|
+
SHA1:
|
6
|
+
data.tar.gz: a0df584749432ba49b668243c12eb2fd7f4b0bc0
|
7
|
+
metadata.gz: d9aca93be069273408f47ad57a141f2b9b7bd3b4
|
@@ -8,6 +8,7 @@ require "steam_hlds_log_parser/client"
|
|
8
8
|
require "steam_hlds_log_parser/handler"
|
9
9
|
require "steam_hlds_log_parser/displayer"
|
10
10
|
|
11
|
+
# SteamHldsLogParser module namespace
|
11
12
|
module SteamHldsLogParser
|
12
13
|
|
13
14
|
I18n.load_path = Dir.glob( File.dirname(__FILE__) + "/locales/*.yml" )
|
@@ -1,22 +1,21 @@
|
|
1
1
|
module SteamHldsLogParser
|
2
2
|
|
3
|
+
# Listens to HLDS logs received via UDP on configured port
|
3
4
|
class Client
|
4
5
|
|
5
6
|
attr_reader :host, :port, :options
|
6
7
|
|
7
8
|
# Creates a new client
|
8
9
|
#
|
9
|
-
# @
|
10
|
-
# @
|
11
|
-
# @
|
10
|
+
# @param [String] host Hostname / IP Address the server will be running
|
11
|
+
# @param [Integer] port Port to listen to
|
12
|
+
# @param [Hash] options Other options
|
12
13
|
#
|
13
|
-
#
|
14
|
-
#
|
15
|
-
#
|
16
|
-
#
|
17
|
-
#
|
18
|
-
# * +display_changelevel+ Enable changelevel (map) display (default=true)
|
19
|
-
# * +displayer+ Class that will be use to display content (default=HldsReturnDisplayer)
|
14
|
+
# @option options [Symbol] :locale (:en) Set the language of returned content
|
15
|
+
# @option options [Boolean] :display_kills (true) Enable kills / frags detail
|
16
|
+
# @option options [Boolean] :display_actions (true) Enable players actions / defuse / ... detail
|
17
|
+
# @option options [Boolean] :display_changelevel (true) Enable changelevel (map) display
|
18
|
+
# @option options [Class] :displayer Class that will be use to display content
|
20
19
|
#
|
21
20
|
def initialize(host, port, options = {})
|
22
21
|
default_options = {
|
@@ -2,7 +2,7 @@ module SteamHldsLogParser
|
|
2
2
|
|
3
3
|
# Default Displayer
|
4
4
|
#
|
5
|
-
#
|
5
|
+
# @param [Hash] data Data returned by 'receive_data'
|
6
6
|
#
|
7
7
|
class Displayer
|
8
8
|
|
@@ -12,17 +12,23 @@ module SteamHldsLogParser
|
|
12
12
|
@data = data
|
13
13
|
end
|
14
14
|
|
15
|
-
# Return data
|
15
|
+
# Return 'data'
|
16
|
+
#
|
17
|
+
# @return [Hash] Data processed by Handler class
|
18
|
+
#
|
16
19
|
def get_data
|
17
20
|
return @data
|
18
21
|
end
|
19
22
|
|
20
|
-
# Display data
|
23
|
+
# Display 'data'
|
21
24
|
def display_data
|
22
25
|
puts get_data
|
23
26
|
end
|
24
27
|
|
25
|
-
# Return data translation
|
28
|
+
# Return 'data' translation
|
29
|
+
#
|
30
|
+
# @return [String] Translated data processed by Handler class
|
31
|
+
#
|
26
32
|
def get_translation
|
27
33
|
return I18n.t(@data[:type], @data[:params]) unless @data[:type].nil?
|
28
34
|
end
|
@@ -1,14 +1,15 @@
|
|
1
1
|
module SteamHldsLogParser
|
2
2
|
|
3
|
+
# Process data received by 'Client'
|
3
4
|
class Handler < EM::Connection
|
4
5
|
|
5
6
|
attr_reader :host, :port, :options
|
6
7
|
|
7
8
|
# Initialize Handler from Client options
|
8
9
|
#
|
9
|
-
# @
|
10
|
-
# @
|
11
|
-
# @
|
10
|
+
# @param [String] host Hostname / IP Address the server will be running
|
11
|
+
# @param [Integer] port Port to listen to
|
12
|
+
# @param [Hash] options Other options
|
12
13
|
#
|
13
14
|
def initialize(host, port, options)
|
14
15
|
@host, @port, @options = host, port, options
|
@@ -33,7 +34,7 @@ module SteamHldsLogParser
|
|
33
34
|
# * match who did what (defuse, drop the bomb...)
|
34
35
|
# * match changelevel
|
35
36
|
#
|
36
|
-
# @
|
37
|
+
# @param [String] data Data received by Client from HLDS server (a line of log)
|
37
38
|
#
|
38
39
|
def receive_data(data)
|
39
40
|
|
@@ -75,7 +76,9 @@ module SteamHldsLogParser
|
|
75
76
|
|
76
77
|
# Format team name with long format (textual)
|
77
78
|
#
|
78
|
-
# @
|
79
|
+
# @param [String] winner Round winner (+CT+ or +T+) from logs
|
80
|
+
#
|
81
|
+
# @return [String] Full team name from translation files
|
79
82
|
#
|
80
83
|
def get_full_team_name(winner)
|
81
84
|
case winner
|
@@ -88,7 +91,9 @@ module SteamHldsLogParser
|
|
88
91
|
|
89
92
|
# Format team name with short format (initials)
|
90
93
|
#
|
91
|
-
# @
|
94
|
+
# @param [String] team Round winner (+CT+ or +TERRORIST+) from logs
|
95
|
+
#
|
96
|
+
# @return [String] Short team name from translation files
|
92
97
|
#
|
93
98
|
def get_short_team_name(team)
|
94
99
|
case team
|