rrimm 0.14.6 → 0.14.7
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/lib/rrimm/fetcher.rb +3 -0
- data/lib/rrimm/logger.rb +16 -0
- data/lib/rrimm/publisher/pipe.rb +6 -1
- data/lib/rrimm/publisher/reddit.rb +11 -5
- data/rrimm.gemspec +1 -1
- metadata +2 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 101c256273859c1123ec418ae9244b618c38c89b
|
4
|
+
data.tar.gz: 1b80effccfb5bf5b69e0acbc5069cb2dd4309575
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1c775af464d73017f1b7358a0f1be40784950821257c9c2a6031e5d4ac91629d994cb9b8edd36e5e92447bb765664132dfc60ea6d358303261bc8cbd176ba6f6
|
7
|
+
data.tar.gz: dbc13f78d238683e4f02155e16a4262d8bbd3025cf16dd45168085d8f7654a5c90fea5b1f9f1f89215e22659007ad0a7ee55ac5b2a9993bc502bb1211b9b1f33
|
data/lib/rrimm/fetcher.rb
CHANGED
@@ -3,10 +3,13 @@ require 'open-uri'
|
|
3
3
|
require 'open_uri_redirections'
|
4
4
|
require 'parallel'
|
5
5
|
require 'timeout'
|
6
|
+
require_relative '../logger'
|
6
7
|
|
7
8
|
module RRImm
|
8
9
|
class Fetcher
|
9
10
|
|
11
|
+
include Logger
|
12
|
+
|
10
13
|
attr_accessor :config, :options
|
11
14
|
|
12
15
|
def initialize(config, options)
|
data/lib/rrimm/logger.rb
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
module RRImm
|
2
|
+
module Logger
|
3
|
+
|
4
|
+
def info(message)
|
5
|
+
puts format_log(message)
|
6
|
+
end
|
7
|
+
|
8
|
+
def debug(message)
|
9
|
+
puts format_log(message) if ENV['RRIMM_DEBUG']
|
10
|
+
end
|
11
|
+
|
12
|
+
def format_log(message)
|
13
|
+
"#{Time.now.strftime('%T')} message"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
data/lib/rrimm/publisher/pipe.rb
CHANGED
@@ -1,5 +1,10 @@
|
|
1
|
+
require_relative '../logger'
|
2
|
+
|
1
3
|
module RRImm
|
2
4
|
class Pipe < Publisher
|
5
|
+
|
6
|
+
include Logger
|
7
|
+
|
3
8
|
def initialize(command)
|
4
9
|
super()
|
5
10
|
@command = command
|
@@ -10,7 +15,7 @@ module RRImm
|
|
10
15
|
def publish(input, *args)
|
11
16
|
cmd = Mixlib::ShellOut.new(command, input: input)
|
12
17
|
cmd.run_command
|
13
|
-
|
18
|
+
info cmd.stderr if cmd.error?
|
14
19
|
cmd.error!
|
15
20
|
end
|
16
21
|
end
|
@@ -1,5 +1,10 @@
|
|
1
|
+
require_relative '../logger'
|
2
|
+
|
1
3
|
module RRImm
|
2
4
|
class Reddit < Publisher
|
5
|
+
|
6
|
+
include Logger
|
7
|
+
|
3
8
|
def initialize
|
4
9
|
require 'redd' # avoid requirment if necessary HACK
|
5
10
|
|
@@ -22,11 +27,12 @@ module RRImm
|
|
22
27
|
def publish(input, feed, item)
|
23
28
|
subreddit = subreddits[feed.title] || check_subreddit!(feed)
|
24
29
|
subreddits[feed.title] = subreddit
|
25
|
-
|
26
|
-
subreddit.submit(item.title, url: item.url)
|
30
|
+
info "Will submit #{item.title} (from #{feed.title}) to #{subreddit.display_name}"
|
31
|
+
submission = subreddit.submit(item.title, url: item.url)
|
32
|
+
submission.undo_vote # let user decide whether content worth it
|
27
33
|
rescue Redd::APIError => e
|
28
34
|
if e.message =~ /that link has already been submitted/
|
29
|
-
|
35
|
+
info "#{item.title} had already been posted. Is the local cache working?"
|
30
36
|
else
|
31
37
|
raise
|
32
38
|
end
|
@@ -43,7 +49,7 @@ module RRImm
|
|
43
49
|
end
|
44
50
|
|
45
51
|
def create_subreddit!(feed)
|
46
|
-
|
52
|
+
info "Will create subreddit named #{feed2sr(feed)}"
|
47
53
|
sr(feed2sr(feed)).create(
|
48
54
|
allow_discovery: true,
|
49
55
|
allow_images: true,
|
@@ -81,7 +87,7 @@ module RRImm
|
|
81
87
|
rescue Redd::APIError => e
|
82
88
|
if e.message =~ /doing that too much.*again in (.*) minutes/
|
83
89
|
delay = $1.to_i + 1
|
84
|
-
|
90
|
+
info "API limit for subreddit creation reached, wait #{delay} minutes"
|
85
91
|
sleep(delay * 60)
|
86
92
|
retry
|
87
93
|
else
|
data/rrimm.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rrimm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.14.
|
4
|
+
version: 0.14.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Grégoire Seux
|
@@ -94,20 +94,6 @@ dependencies:
|
|
94
94
|
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: redd
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - ">="
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
104
|
-
type: :runtime
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - ">="
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
111
97
|
- !ruby/object:Gem::Dependency
|
112
98
|
name: rspec
|
113
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -162,6 +148,7 @@ files:
|
|
162
148
|
- lib/rrimm/item_formatter.rb
|
163
149
|
- lib/rrimm/item_formatter/default.rb
|
164
150
|
- lib/rrimm/item_formatter/mail.rb
|
151
|
+
- lib/rrimm/logger.rb
|
165
152
|
- lib/rrimm/publisher.rb
|
166
153
|
- lib/rrimm/publisher/pipe.rb
|
167
154
|
- lib/rrimm/publisher/reddit.rb
|