alltweets 0.1.3 → 1.0.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/README.md +3 -3
- data/alltweets.gemspec +1 -1
- data/lib/alltweets/cli.rb +14 -20
- data/lib/alltweets/collector.rb +1 -1
- data/lib/alltweets/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e813675287a45c310233a7895317216ed856e80b
|
4
|
+
data.tar.gz: a7f110d64e270bb69bcbe1100a91b5a5fb1e6aa7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1a84b7f070964d513d9aa6ea60865fa4997d09a06135f06b60c228ec343efa26b01c497ec51a56d23ca6e84056e33d58340505d92275fda2ce8be348964a3634
|
7
|
+
data.tar.gz: ecf94b4a8d88ab4b2436b0be2ec4bc08e141e78df2ffb32a5b56e9b82325c5718fe5937260a85c9283a5be951168883ed1fbf441b2201f751c46e893980042f1
|
data/README.md
CHANGED
@@ -16,15 +16,15 @@ $ gem install alltweets
|
|
16
16
|
|
17
17
|
### Options
|
18
18
|
|
19
|
-
* `-r`, `--retweets`: Include retweets
|
20
|
-
* `-
|
19
|
+
* `-r`, `--retweets`: Include retweets
|
20
|
+
* `-y`, `--yaml`: Use YAML instead of JSON
|
21
21
|
* `-h`, `--help`: Show help message
|
22
22
|
|
23
23
|
### Example
|
24
24
|
|
25
25
|
* `alltweets tatzyr`: Download @tatzyr's all tweets.
|
26
26
|
* `alltweets -r tatzyr`: Download @tatzyr's all tweets including retweets.
|
27
|
-
* `alltweets -
|
27
|
+
* `alltweets -y tatzyr`: Download @tatzyr's all tweets as YAML instead of JSON.
|
28
28
|
|
29
29
|
## Development
|
30
30
|
|
data/alltweets.gemspec
CHANGED
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.add_dependency "oauth", "~> 0.4.7"
|
23
23
|
spec.add_dependency "oj", "~> 2.14.1"
|
24
24
|
spec.add_dependency "trollop", '~> 2.1.2'
|
25
|
-
spec.add_dependency "twitter", "~> 5.15
|
25
|
+
spec.add_dependency "twitter", "~> 5.15"
|
26
26
|
|
27
27
|
spec.add_development_dependency "bundler", "~> 1.10"
|
28
28
|
spec.add_development_dependency "rake", "~> 10.0"
|
data/lib/alltweets/cli.rb
CHANGED
@@ -14,39 +14,38 @@ module AllTweets
|
|
14
14
|
access_token: @settings.access_token,
|
15
15
|
access_token_secret: @settings.access_token_secret
|
16
16
|
)
|
17
|
-
@filename = filename
|
18
17
|
end
|
19
18
|
|
20
19
|
def run
|
21
|
-
|
20
|
+
warn "Downloading #{@screen_name}'s all tweets"
|
22
21
|
result = @collector.get_all_tweets(@screen_name, include_retweets: @opts[:retweets]).map(&:to_h)
|
23
22
|
|
24
|
-
if @opts[:
|
25
|
-
dump_data = Oj.dump(result, mode: :compat)
|
26
|
-
else
|
23
|
+
if @opts[:yaml]
|
27
24
|
dump_data = YAML.dump(result)
|
25
|
+
else
|
26
|
+
dump_data = Oj.dump(result, mode: :compat)
|
28
27
|
end
|
29
28
|
|
30
|
-
|
31
|
-
f.puts dump_data
|
32
|
-
end
|
29
|
+
puts dump_data
|
33
30
|
rescue
|
34
|
-
|
31
|
+
warn "Error: #{$!}".colorize(:red)
|
32
|
+
exit 1
|
35
33
|
end
|
36
34
|
|
37
35
|
private
|
38
36
|
def parse_args
|
39
37
|
opts = Trollop::options do
|
40
38
|
opt :retweets, "Include retweets"
|
41
|
-
opt :
|
39
|
+
opt :yaml, "Use YAML instead of JSON"
|
42
40
|
end
|
43
|
-
screen_name = ARGV.first
|
44
41
|
|
45
|
-
|
42
|
+
unless ARGV.size == 1
|
46
43
|
warn "usage: alltweets <screen name>"
|
47
44
|
exit 1
|
48
45
|
end
|
49
46
|
|
47
|
+
screen_name = ARGV.first
|
48
|
+
|
50
49
|
[screen_name, opts]
|
51
50
|
end
|
52
51
|
|
@@ -59,22 +58,17 @@ module AllTweets
|
|
59
58
|
)
|
60
59
|
request_token = consumer.get_request_token
|
61
60
|
|
62
|
-
|
61
|
+
warn "1) Open: #{request_token.authorize_url}".colorize(:cyan)
|
63
62
|
Launchy.open(request_token.authorize_url)
|
64
63
|
|
65
|
-
print "2) Enter the PIN: ".colorize(:cyan)
|
64
|
+
$stderr.print "2) Enter the PIN: ".colorize(:cyan)
|
66
65
|
pin = $stdin.gets.strip
|
67
66
|
|
68
67
|
access_token = request_token.get_access_token(oauth_verifier: pin)
|
69
68
|
|
70
|
-
|
69
|
+
warn "Saving access token and access token secret to #{@settings.filename}"
|
71
70
|
@settings.add_access_tokens(access_token.token, access_token.secret)
|
72
71
|
end
|
73
72
|
end
|
74
|
-
|
75
|
-
def filename
|
76
|
-
ext = @opts[:json] ? ".json" : ".yml"
|
77
|
-
"alltweets_#{@screen_name}#{ext}"
|
78
|
-
end
|
79
73
|
end
|
80
74
|
end
|
data/lib/alltweets/collector.rb
CHANGED
@@ -6,7 +6,7 @@ module AllTweets
|
|
6
6
|
@client = Twitter::REST::Client.new(hash)
|
7
7
|
end
|
8
8
|
|
9
|
-
def get_all_tweets(user, include_retweets:)
|
9
|
+
def get_all_tweets(user, include_retweets: false)
|
10
10
|
collect_with_max_id do |max_id|
|
11
11
|
options = { count: 200, include_rts: include_retweets }
|
12
12
|
options[:max_id] = max_id unless max_id.nil?
|
data/lib/alltweets/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: alltweets
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tatsuya Otsuka
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-02-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colorize
|
@@ -86,14 +86,14 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 5.15
|
89
|
+
version: '5.15'
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 5.15
|
96
|
+
version: '5.15'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: bundler
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -179,7 +179,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
179
179
|
version: '0'
|
180
180
|
requirements: []
|
181
181
|
rubyforge_project:
|
182
|
-
rubygems_version: 2.5.
|
182
|
+
rubygems_version: 2.5.2
|
183
183
|
signing_key:
|
184
184
|
specification_version: 4
|
185
185
|
summary: Downloads someone's all tweets.
|