goodbye_chatwork 0.0.4 → 0.0.5
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/README.md +10 -2
- data/bin/goodbye_chatwork +34 -16
- data/lib/goodbye_chatwork.rb +20 -2
- data/lib/goodbye_chatwork/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 95e08046dc6a9519d244415e3e7cb68a05129eb4
|
4
|
+
data.tar.gz: 07c973e5d847863b9dc4c9f21290f100a5c70ac6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 68499d112ee6f83e03339f32a6ebe9dee6182a778f78bc9265349415f4741be65b59ca0049f08f70d2560f7ea14da414a8bc66313fc2e0a5c7b29028d753a8fe
|
7
|
+
data.tar.gz: 550a9a66c1e79778d14d7bb43386b03537019cc2c71bc72fd60b4e18dc4abc7dcb88759c7027119c10e1ab70b919055877ab6e3f1cad3648810e95cb96537efb
|
data/README.md
CHANGED
@@ -14,14 +14,22 @@ show chat room list (output: room_id room_name count)
|
|
14
14
|
11111 chatroom1 24
|
15
15
|
11112 chatroom1 42
|
16
16
|
|
17
|
-
export logs (chat logs only: -e option)
|
17
|
+
export specified room's chat logs (chat logs only: -e option)
|
18
18
|
|
19
19
|
$ goodbye_chatwork -i example@example.com -p your_password -e room_id
|
20
20
|
|
21
|
-
export logs (chat logs and attachment files: -x option)
|
21
|
+
export specified room's chat logs (chat logs and attachment files: -x option)
|
22
22
|
|
23
23
|
$ goodbye_chatwork -i example@example.com -p your_password -x room_id
|
24
24
|
|
25
|
+
export all room's chat logs (chat logs only: -e option)
|
26
|
+
|
27
|
+
$ goodbye_chatwork -i example@example.com -p your_password -e all
|
28
|
+
|
29
|
+
export all room's chat logs (chat logs and attachment files: -x option)
|
30
|
+
|
31
|
+
$ goodbye_chatwork -i example@example.com -p your_password -x all
|
32
|
+
|
25
33
|
## Information
|
26
34
|
|
27
35
|
Copyright (c) 2014 swdyh
|
data/bin/goodbye_chatwork
CHANGED
@@ -13,8 +13,10 @@ if opts['h'] || !email || !password
|
|
13
13
|
Usage: goodbye_chatwork
|
14
14
|
-i your chatwork id
|
15
15
|
-p your chatwork password
|
16
|
-
-e room id (export chat logs)
|
17
|
-
-x room id (export chat logs and download attachment files)
|
16
|
+
-e room id (export specified room's chat logs)
|
17
|
+
-x room id (export specified room's chat logs and download attachment files)
|
18
|
+
-e all (export all room's chat logs)
|
19
|
+
-x all (export all room's chat logs and download attachment files)
|
18
20
|
-d dir
|
19
21
|
|
20
22
|
Example:
|
@@ -22,13 +24,21 @@ show room list
|
|
22
24
|
|
23
25
|
$ goodbye_chatwork -i example@example.com -p your_password
|
24
26
|
|
25
|
-
export logs (-e: chat logs only)
|
27
|
+
export specified room's chat logs (-e: chat logs only)
|
26
28
|
|
27
29
|
$ goodbye_chatwork -i example@example.com -p your_password -e room_id
|
28
30
|
|
29
|
-
export logs (-x: chat logs and attachment files)
|
31
|
+
export specified room's chat logs (-x: chat logs and attachment files)
|
30
32
|
|
31
33
|
$ goodbye_chatwork -i example@example.com -p your_password -x room_id
|
34
|
+
|
35
|
+
export all room's chat logs (-e: chat logs only)
|
36
|
+
|
37
|
+
$ goodbye_chatwork -i example@example.com -p your_password -e all
|
38
|
+
|
39
|
+
export all room's chat logs (-x: chat logs and attachment files)
|
40
|
+
|
41
|
+
$ goodbye_chatwork -i example@example.com -p your_password -x all
|
32
42
|
EOS
|
33
43
|
exit
|
34
44
|
end
|
@@ -43,18 +53,26 @@ if opts['x'] || opts['e']
|
|
43
53
|
FileUtils.mkdir_p log_dir
|
44
54
|
end
|
45
55
|
room_id = opts['x'] || opts['e']
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
56
|
+
rooms = if room_id == "all"
|
57
|
+
list
|
58
|
+
else
|
59
|
+
room = list.find { |i| i[0] == room_id.to_s }
|
60
|
+
unless room
|
61
|
+
puts 'no room'
|
62
|
+
exit 1
|
63
|
+
end
|
64
|
+
[room]
|
65
|
+
end
|
66
|
+
rooms.each do |room|
|
67
|
+
room_id = room[0]
|
68
|
+
room_name = room[1].gsub(/[[:cntrl:]\s\/\:]/, '')
|
69
|
+
out = File.join(log_dir, "#{room_id}_#{room_name}.csv")
|
70
|
+
file_dir = File.join(log_dir, "#{room_id}_files_#{room_name}")
|
71
|
+
if opts['x']
|
72
|
+
gcw.export_csv(room_id, out, { include_file: true, dir: file_dir })
|
73
|
+
else
|
74
|
+
gcw.export_csv(room_id, out)
|
75
|
+
end
|
58
76
|
end
|
59
77
|
else
|
60
78
|
puts list.map { |i| i.join(' ') }
|
data/lib/goodbye_chatwork.rb
CHANGED
@@ -72,7 +72,21 @@ module GoodbyeChatwork
|
|
72
72
|
|
73
73
|
def old_chat room_id, first_chat_id = 0
|
74
74
|
self.info "get old chat #{first_chat_id}- ..."
|
75
|
-
|
75
|
+
begin
|
76
|
+
res = @client.get do |req|
|
77
|
+
req.url "#{@client.url_prefix.to_s}gateway.php?cmd=load_old_chat&myid=#{@myid}&_v=1.80a&_av=4&_t=#{@token}&ln=ja&room_id=#{room_id}&last_chat_id=0&first_chat_id=#{first_chat_id}&jump_to_chat_id=0&unread_num=0&file=1&desc=1"
|
78
|
+
req.options.timeout = 5 # open/read timeout in seconds
|
79
|
+
req.options.open_timeout = 1000 # connection open timeout in seconds
|
80
|
+
end
|
81
|
+
rescue Faraday::ConnectionFailed => e
|
82
|
+
retry_count ||= 0
|
83
|
+
retry_count += 1
|
84
|
+
if retry_count < 5
|
85
|
+
retry
|
86
|
+
else
|
87
|
+
raise e
|
88
|
+
end
|
89
|
+
end
|
76
90
|
self.wait
|
77
91
|
r = JSON.parse(res.body)
|
78
92
|
r['result']['chat_list'].sort_by { |i| - i['id'] }
|
@@ -105,7 +119,11 @@ module GoodbyeChatwork
|
|
105
119
|
|
106
120
|
def file_info(file_id)
|
107
121
|
self.info "get file info #{file_id} ..."
|
108
|
-
r = @client.get
|
122
|
+
r = @client.get do |req|
|
123
|
+
req.url "#{@client.url_prefix.to_s}gateway.php?cmd=download_file&bin=1&file_id=#{file_id}"
|
124
|
+
req.options.timeout = 5 # open/read timeout in seconds
|
125
|
+
req.options.open_timeout = 10 # connection open timeout in seconds
|
126
|
+
end
|
109
127
|
self.wait
|
110
128
|
b = r.headers['Content-disposition'].match(/filename="=\?UTF-8\?B\?(.+)\?="/).to_a[1]
|
111
129
|
{ url: r.headers['Location'], filename: b.unpack('m')[0] }
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: goodbye_chatwork
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- swdyh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-07-
|
11
|
+
date: 2016-07-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -104,7 +104,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
104
104
|
version: '0'
|
105
105
|
requirements: []
|
106
106
|
rubyforge_project:
|
107
|
-
rubygems_version: 2.0.
|
107
|
+
rubygems_version: 2.0.14.1
|
108
108
|
signing_key:
|
109
109
|
specification_version: 4
|
110
110
|
summary: export Chatwork(chatwork.com) logs
|