reddit_bot 1.6.9 → 1.6.11

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
2
  SHA1:
3
- metadata.gz: c9fe401e7fa3a403a2c276a8a9fe37fbffe8d46e
4
- data.tar.gz: 3f33f456f87949f8011d63bc0e8775e0ad032fc8
3
+ metadata.gz: f8aaacf7ddc5b651ab7dc97b62a723d666c6207f
4
+ data.tar.gz: c01bcc87927f9c44e839f58f6f9244d8c73548ab
5
5
  SHA512:
6
- metadata.gz: ac3f31a9303dd9b9392dbed30f50e448673de69cd822144d5b922ba84b0d93e39f97c1d2f1ebe8d6e2cf422773a81710e71d1a1cdd93daf2178229af31149b12
7
- data.tar.gz: 7cbd0088c5a9ab734aa29a96544c743a36bc35400d0511189f68856fa4be1b44a3f6c246cce6cd13da858e377d2404a49bd65a08f0dd688f8dc98a96db33fd4d
6
+ metadata.gz: 46b32b8d7619c6064e7a0f8720411b67fc3961e942b398dc881c913188b6a158d5015eccd5d91c1ef4c5873ca7d3bdd3d01f0a1e1e95c67a402eda05cc4758a6
7
+ data.tar.gz: 5dd0e963c86be5fefbbc2f6dec48c6faaf3f59e3cb60295361b61124bbd08a5a44b888eef076469275adda25c27e1cb926c2809695532f850ba5ce5eaf555959
@@ -1,3 +1,3 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- gem "reddit_bot", git: "git@github.com:nakilon/reddit_bot.git"
3
+ gem "reddit_bot"
@@ -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.4.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.16.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.4.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.7)
88
+ reddit_bot (1.6.10)
89
89
  json
90
- nethttputils (~> 0.2.4.1)
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.16.1
113
+ 1.17.1
@@ -1,3 +1,3 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- gem "reddit_bot", git: "git@github.com:nakilon/reddit_bot.git"
3
+ gem "reddit_bot"
@@ -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.4.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.16.1
17
+ 1.17.1
@@ -86,7 +86,7 @@ loop do
86
86
  flair["text"] == "Contains Media"
87
87
  end
88
88
 
89
- timeout = 0
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(timeout += 1)
105
+ sleep timeout
106
+ timeout *= 2
106
107
  retry
107
108
  end ).reverse_each do |tweet|
108
109
  next if tweet["id"] <= id
@@ -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,14 +152,16 @@ 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"].each do |post|
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
- e << post["data"]
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}
142
163
  end
143
- end
164
+ end.to_a.sort_by{ |post| post["id"] }.reverse
144
165
  end
145
166
 
146
167
  # :yields: JSON objects: ["data"] part of post or self.post, top level comment (["children"] element)
@@ -1,3 +1,3 @@
1
1
  module RedditBot
2
- VERSION = "1.6.9" # :nodoc:
2
+ VERSION = "1.6.11" # :nodoc:
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: reddit_bot
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.9
4
+ version: 1.6.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Victor Maslov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-11-05 00:00:00.000000000 Z
11
+ date: 2018-11-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json