reddit_bot 1.6.10 → 1.6.11
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/examples/johnnymarr/Gemfile +1 -1
- data/examples/johnnymarr/Gemfile.lock +6 -11
- data/examples/largeimages/Gemfile.lock +4 -4
- data/examples/realtimeww2/Gemfile +1 -1
- data/examples/realtimeww2/Gemfile.lock +6 -11
- data/examples/realtimeww2/main.rb +3 -2
- data/lib/reddit_bot.rb +23 -2
- data/lib/reddit_bot/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f8aaacf7ddc5b651ab7dc97b62a723d666c6207f
|
4
|
+
data.tar.gz: c01bcc87927f9c44e839f58f6f9244d8c73548ab
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 46b32b8d7619c6064e7a0f8720411b67fc3961e942b398dc881c913188b6a158d5015eccd5d91c1ef4c5873ca7d3bdd3d01f0a1e1e95c67a402eda05cc4758a6
|
7
|
+
data.tar.gz: 5dd0e963c86be5fefbbc2f6dec48c6faaf3f59e3cb60295361b61124bbd08a5a44b888eef076469275adda25c27e1cb926c2809695532f850ba5ce5eaf555959
|
data/examples/johnnymarr/Gemfile
CHANGED
@@ -1,22 +1,17 @@
|
|
1
|
-
GIT
|
2
|
-
remote: git@github.com:nakilon/reddit_bot.git
|
3
|
-
revision: 0a0649b20ff0b1a28366a17ec7c037e481e850b3
|
4
|
-
specs:
|
5
|
-
reddit_bot (1.6.7)
|
6
|
-
json
|
7
|
-
nethttputils (~> 0.2.4.1)
|
8
|
-
|
9
1
|
GEM
|
10
2
|
remote: https://rubygems.org/
|
11
3
|
specs:
|
12
4
|
json (2.1.0)
|
13
|
-
nethttputils (0.2.
|
5
|
+
nethttputils (0.2.5.1)
|
6
|
+
reddit_bot (1.6.10)
|
7
|
+
json
|
8
|
+
nethttputils (~> 0.2.5.1)
|
14
9
|
|
15
10
|
PLATFORMS
|
16
11
|
ruby
|
17
12
|
|
18
13
|
DEPENDENCIES
|
19
|
-
reddit_bot
|
14
|
+
reddit_bot
|
20
15
|
|
21
16
|
BUNDLED WITH
|
22
|
-
1.
|
17
|
+
1.17.1
|
@@ -80,14 +80,14 @@ GEM
|
|
80
80
|
mini_portile2 (2.3.0)
|
81
81
|
multi_json (1.13.1)
|
82
82
|
multipart-post (2.0.0)
|
83
|
-
nethttputils (0.2.
|
83
|
+
nethttputils (0.2.5.1)
|
84
84
|
nokogiri (1.8.4)
|
85
85
|
mini_portile2 (~> 2.3.0)
|
86
86
|
os (0.9.6)
|
87
87
|
public_suffix (2.0.5)
|
88
|
-
reddit_bot (1.6.
|
88
|
+
reddit_bot (1.6.10)
|
89
89
|
json
|
90
|
-
nethttputils (~> 0.2.
|
90
|
+
nethttputils (~> 0.2.5.1)
|
91
91
|
rly (0.2.3)
|
92
92
|
signet (0.8.1)
|
93
93
|
addressable (~> 2.3)
|
@@ -110,4 +110,4 @@ DEPENDENCIES
|
|
110
110
|
reddit_bot
|
111
111
|
|
112
112
|
BUNDLED WITH
|
113
|
-
1.
|
113
|
+
1.17.1
|
@@ -1,22 +1,17 @@
|
|
1
|
-
GIT
|
2
|
-
remote: git@github.com:nakilon/reddit_bot.git
|
3
|
-
revision: 351c559e507289aa6385e769eb6d5c6de80ba629
|
4
|
-
specs:
|
5
|
-
reddit_bot (1.6.7)
|
6
|
-
json
|
7
|
-
nethttputils (~> 0.2.4.1)
|
8
|
-
|
9
1
|
GEM
|
10
2
|
remote: https://rubygems.org/
|
11
3
|
specs:
|
12
4
|
json (2.1.0)
|
13
|
-
nethttputils (0.2.
|
5
|
+
nethttputils (0.2.5.1)
|
6
|
+
reddit_bot (1.6.10)
|
7
|
+
json
|
8
|
+
nethttputils (~> 0.2.5.1)
|
14
9
|
|
15
10
|
PLATFORMS
|
16
11
|
ruby
|
17
12
|
|
18
13
|
DEPENDENCIES
|
19
|
-
reddit_bot
|
14
|
+
reddit_bot
|
20
15
|
|
21
16
|
BUNDLED WITH
|
22
|
-
1.
|
17
|
+
1.17.1
|
@@ -86,7 +86,7 @@ loop do
|
|
86
86
|
flair["text"] == "Contains Media"
|
87
87
|
end
|
88
88
|
|
89
|
-
timeout =
|
89
|
+
timeout = 1
|
90
90
|
JSON.load( begin
|
91
91
|
NetHTTPUtils.request_data(
|
92
92
|
"https://api.twitter.com/1.1/statuses/user_timeline.json",
|
@@ -102,7 +102,8 @@ loop do
|
|
102
102
|
end
|
103
103
|
rescue NetHTTPUtils::Error => e
|
104
104
|
fail if e.code != 503
|
105
|
-
sleep
|
105
|
+
sleep timeout
|
106
|
+
timeout *= 2
|
106
107
|
retry
|
107
108
|
end ).reverse_each do |tweet|
|
108
109
|
next if tweet["id"] <= id
|
data/lib/reddit_bot.rb
CHANGED
@@ -111,6 +111,25 @@ module RedditBot
|
|
111
111
|
end
|
112
112
|
end
|
113
113
|
|
114
|
+
@@skip_erroneous_descending_ids = lambda do |array|
|
115
|
+
array.reverse.each_with_object([]) do |item, result|
|
116
|
+
unless result.empty?
|
117
|
+
a, b = [item["id"], result.first["id"]]
|
118
|
+
next if a == b || a.size < b.size || !(a.size > b.size) && a < b
|
119
|
+
end
|
120
|
+
result.unshift item
|
121
|
+
end
|
122
|
+
end
|
123
|
+
fail unless p(@@skip_erroneous_descending_ids[[
|
124
|
+
{"id" => "0h"},
|
125
|
+
{"id" => "g"},
|
126
|
+
{"id" => "f"},
|
127
|
+
{"id" => "i"},
|
128
|
+
{"id" => "e"},
|
129
|
+
{"id" => "b"},
|
130
|
+
{"id" => "c"},
|
131
|
+
{"id" => "d"},
|
132
|
+
]].flat_map(&:values)) == %w{ 0h i e d }
|
114
133
|
# :yields: JSON objects: ["data"] part of post or self.post
|
115
134
|
def new_posts subreddit = nil, caching = false
|
116
135
|
cache = lambda do |id, &block|
|
@@ -133,9 +152,11 @@ module RedditBot
|
|
133
152
|
fail if result["kind"] != "Listing"
|
134
153
|
fail result["data"].keys.inspect unless result["data"].keys == %w{ after dist modhash whitelist_status children before } ||
|
135
154
|
result["data"].keys == %w{ modhash dist children after before }
|
136
|
-
result["data"]["children"].
|
155
|
+
@@skip_erroneous_descending_ids[ result["data"]["children"].map do |post|
|
137
156
|
fail "unknown type post['kind']: #{post["kind"]}" unless post["kind"] == "t3"
|
138
|
-
|
157
|
+
post["data"]
|
158
|
+
end ].each do |data|
|
159
|
+
e << data
|
139
160
|
end
|
140
161
|
break unless marker = result["data"]["after"]
|
141
162
|
after = {after: marker}
|
data/lib/reddit_bot/version.rb
CHANGED