wowlog 0.1.2 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ChangeLog +12 -0
- data/bin/wl_extract_encount +67 -26
- data/lib/wowlog.rb +1 -0
- data/lib/wowlog/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e7dab1672cfbe4a0a6da2116c1915bf7bc0cb3cf
|
4
|
+
data.tar.gz: 0cb21dccd07d8c24f6b66dc538c40b86af4347e8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6af583d926a497ce38534948b0185e6950b15e6c4951d210dbbf18bc9951d5a6b9898758b07f927e32d077e2bf4aac0e99aa16d12cdb78ab19923874be12c47a
|
7
|
+
data.tar.gz: c17b025e15de54ff7dd4b4f3bfc8b72135d24719ae7690aa60cff04d84c973aaafed0f0b2ee8f578c052078dcfa1dd290750607efb0ce81935e6647a9411c100
|
data/ChangeLog
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
2014-09-14 Masayoshi Mizutani <muret@haeena.net>
|
2
|
+
* v0.2.0 Release
|
3
|
+
* wl_extract_encount: Changed output message format
|
4
|
+
* wl_extract_encount: Added "-o" option to specify output directory
|
5
|
+
* wl_extract_encount: Added "-m" option to output as Msgpack encode
|
6
|
+
* wowlog.rb: Fixed to parse a log line that has double quatation
|
7
|
+
|
8
|
+
2014-07-26 Masayoshi Mizutani <muret@haeena.net>
|
9
|
+
* v0.1.2 Release
|
10
|
+
|
11
|
+
2014-07-13 Masayoshi Mizutani <muret@haeena.net>
|
12
|
+
* v0.1.1 Release
|
data/bin/wl_extract_encount
CHANGED
@@ -26,35 +26,76 @@
|
|
26
26
|
# POSSIBILITY OF SUCH DAMAGE.
|
27
27
|
#
|
28
28
|
|
29
|
-
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), *%w[.. lib])
|
30
29
|
require 'wowlog'
|
31
30
|
require 'pp'
|
31
|
+
require 'time'
|
32
|
+
require 'optparse'
|
33
|
+
require 'msgpack'
|
32
34
|
|
35
|
+
out_encode = false
|
36
|
+
out_dir = './'
|
33
37
|
psr = Wowlog::Parser.new
|
34
38
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
39
|
+
optpsr = OptionParser.new
|
40
|
+
optpsr.on('-m', 'output as msgpack encode') { |v| out_encode = v }
|
41
|
+
optpsr.on('-o VAL', 'output directory') { |val| out_dir = val }
|
42
|
+
argv = optpsr.parse(ARGV)
|
43
|
+
|
44
|
+
argv.each do |log_file|
|
45
|
+
File.open(log_file, 'r') { |fd|
|
46
|
+
out_fd = nil
|
47
|
+
fname = nil
|
48
|
+
STDOUT.sync = true
|
49
|
+
ev_count = nil
|
50
|
+
base_ts = nil
|
51
|
+
|
52
|
+
fd.each { |line|
|
53
|
+
ev = psr.parse_line(line)
|
54
|
+
|
55
|
+
if ev['event'] == 'ENCOUNTER_START'
|
56
|
+
# Set counting paramters.
|
57
|
+
ev_count = 0
|
58
|
+
base_ts = ev['timestamp']
|
59
|
+
|
60
|
+
# Covert timestamp to YYYYMMDD_HHMMSS format.
|
61
|
+
enc_name = ev['encounterName'].gsub(/\s/, '_')
|
62
|
+
dt = Time.at(ev['timestamp']).to_s.split(/\s/)
|
63
|
+
dt_s = [dt[0].split('-').join(''), dt[1].split(':').join('')].join('_')
|
60
64
|
|
65
|
+
# Open file, selecting extension by encoding.
|
66
|
+
ext = (out_encode) ? 'msg' : 'txt'
|
67
|
+
fname = "WoWCombatLog_#{dt_s}_#{enc_name}_#{ev['groupSize']}man.#{ext}"
|
68
|
+
fpath = File.join(out_dir, fname)
|
69
|
+
out_fd = File.open(fpath, (out_encode ? 'wb' : 'w'))
|
70
|
+
print "Extracting #{fpath}... "
|
71
|
+
end
|
72
|
+
|
73
|
+
# Count up.
|
74
|
+
ev_count += 1 unless ev_count.nil?
|
75
|
+
|
76
|
+
unless out_fd.nil?
|
77
|
+
if out_encode
|
78
|
+
out_fd.write(ev.to_msgpack)
|
79
|
+
else
|
80
|
+
out_fd.write(line)
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
# Closing combat file with ENCOUNTER_END event.
|
85
|
+
if ev['event'] == 'ENCOUNTER_END'
|
86
|
+
unless ev_count.nil?
|
87
|
+
duration = ev['timestamp'] - base_ts
|
88
|
+
puts "done (%d events, %d seconds)" % [ev_count, duration]
|
89
|
+
else
|
90
|
+
puts "done (no ENCOUNTER_START event)"
|
91
|
+
end
|
92
|
+
|
93
|
+
# Reset counter and file parameters.
|
94
|
+
ev_count = nil
|
95
|
+
base_ts = nil
|
96
|
+
out_fd.close
|
97
|
+
out_fd = nil
|
98
|
+
end
|
99
|
+
}
|
100
|
+
}
|
101
|
+
end
|
data/lib/wowlog.rb
CHANGED
data/lib/wowlog/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wowlog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Masayoshi Mizutani
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-09-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -64,6 +64,7 @@ extensions: []
|
|
64
64
|
extra_rdoc_files: []
|
65
65
|
files:
|
66
66
|
- ".gitignore"
|
67
|
+
- ChangeLog
|
67
68
|
- Gemfile
|
68
69
|
- LICENSE.txt
|
69
70
|
- README.md
|