rrimm 0.14.6 → 0.14.7
Sign up to get free protection for your applications and to get access to all the features.
- 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
|