rssly 0.0.3 → 0.0.4
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/rssly.rb +2 -1
- data/lib/rssly/article.rb +9 -7
- data/lib/rssly/cli.rb +4 -1
- data/lib/rssly/collection.rb +4 -0
- data/lib/rssly/feed.rb +12 -5
- data/lib/rssly/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: c25eb7b0ee6b8445a5a3272e88d9d166d1f0aeb7
|
4
|
+
data.tar.gz: 39c286943032ae9a7b86e31fda1c0f52b84f209b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 53f400d0d9d4e7d10ee842c4dd39abec25c7750e017079f1ff32fe9140641ead2f49422455b005df116c771d9424a47636d7b4c740979c414a26dcbbab961435
|
7
|
+
data.tar.gz: e2ead2d0d8b530b8bf9c0108fe4691f11799351145cc554ee4548083f330e8c9a66b9799571b989754fe8000bed94047bcae9fc9ef33423ae457c575b1ff35e5
|
data/lib/rssly.rb
CHANGED
data/lib/rssly/article.rb
CHANGED
@@ -66,19 +66,21 @@ module Rssly
|
|
66
66
|
|
67
67
|
def summarized
|
68
68
|
@summarized ||= begin
|
69
|
-
|
70
|
-
|
71
|
-
|
69
|
+
$stderr.puts "Summarizing article at #{url}" if Rssly::CONFIG[:verbose]
|
70
|
+
text = Sanitize.clean(extracted.content)
|
71
|
+
OTS.parse(text)
|
72
|
+
end
|
72
73
|
end
|
73
74
|
|
74
75
|
def extracted
|
75
76
|
@extracted ||= begin
|
76
|
-
|
77
|
-
|
78
|
-
|
77
|
+
$stderr.puts "Fetching article at #{url}" if Rssly::CONFIG[:verbose]
|
78
|
+
source = open(url).read
|
79
|
+
Readability::Document.new(source)
|
80
|
+
end
|
79
81
|
rescue OpenURI::HTTPError
|
80
82
|
raise Rssly::HTTPError,
|
81
|
-
"Could not retrieve document for
|
83
|
+
"Could not retrieve document for article at: #{url}"
|
82
84
|
end
|
83
85
|
end
|
84
86
|
end
|
data/lib/rssly/cli.rb
CHANGED
@@ -23,9 +23,12 @@ module Rssly
|
|
23
23
|
Whether rss feed urls should be auto discovered from the given url.
|
24
24
|
EOT
|
25
25
|
|
26
|
+
option :verbose, default: false, type: :boolean
|
27
|
+
|
26
28
|
def fetch(*feed_urls)
|
27
29
|
Rssly::CONFIG[:summary_ratio] = options[:summary_ratio]
|
28
30
|
Rssly::CONFIG[:discover_feeds] = options[:discover]
|
31
|
+
Rssly::CONFIG[:verbose] = options[:verbose]
|
29
32
|
|
30
33
|
feeds = feed_urls.map { |url| Rssly::Feed.new url: url }
|
31
34
|
collection = Rssly::Collection.create_from_feeds(*feeds)
|
@@ -36,7 +39,7 @@ module Rssly
|
|
36
39
|
else fail "Serializer #{options[:format]} not found."
|
37
40
|
end
|
38
41
|
|
39
|
-
puts serializer.new(collection).perform
|
42
|
+
$stdout.puts serializer.new(collection).perform
|
40
43
|
end
|
41
44
|
end
|
42
45
|
end
|
data/lib/rssly/collection.rb
CHANGED
data/lib/rssly/feed.rb
CHANGED
@@ -22,11 +22,8 @@ module Rssly
|
|
22
22
|
private
|
23
23
|
|
24
24
|
def fetch_articles
|
25
|
-
urls =
|
26
|
-
|
27
|
-
.flatten.uniq.compact
|
28
|
-
else [@url]
|
29
|
-
end
|
25
|
+
urls = gather_feeds
|
26
|
+
$stderr.puts "Found feeds #{urls.join(', ')}" if Rssly::CONFIG[:verbose]
|
30
27
|
|
31
28
|
Feedjira::Feed.fetch_and_parse(urls).values.select do |result|
|
32
29
|
result.class.name.start_with?('Feedjira::')
|
@@ -36,5 +33,15 @@ module Rssly
|
|
36
33
|
rescue RuntimeError
|
37
34
|
raise Rssly::HTTPError, "Could not fetch articles for feed: #{url}"
|
38
35
|
end
|
36
|
+
|
37
|
+
def gather_feeds
|
38
|
+
$stderr.puts "Gathering feeds for #{url}" if Rssly::CONFIG[:verbose]
|
39
|
+
|
40
|
+
if Rssly::CONFIG[:discover_feeds]
|
41
|
+
([@url] + Feedbag.find(@url) + Rfeedfinder.feeds(@url))
|
42
|
+
.flatten.uniq.compact
|
43
|
+
else [@url]
|
44
|
+
end
|
45
|
+
end
|
39
46
|
end
|
40
47
|
end
|
data/lib/rssly/version.rb
CHANGED