polyrex-feed-reader 0.2.1 → 0.3.0
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.
- data/lib/polyrex-feed-reader.rb +20 -4
- metadata +2 -2
data/lib/polyrex-feed-reader.rb
CHANGED
@@ -9,7 +9,7 @@ require 'builder'
|
|
9
9
|
require 'time'
|
10
10
|
require 'date'
|
11
11
|
require 'chronic'
|
12
|
-
|
12
|
+
require 'pathname'
|
13
13
|
|
14
14
|
class Fixnum
|
15
15
|
def seconds() self end
|
@@ -92,16 +92,28 @@ class PolyrexFeedReader
|
|
92
92
|
|
93
93
|
def read_feed(feed_name)
|
94
94
|
feed = @feeds.find_by_feed_title(feed_name)
|
95
|
-
fetch_feed(feed)
|
95
|
+
fetch_feed(feed, save_rss: true)
|
96
96
|
@feeds.save @file_path
|
97
|
+
|
98
|
+
File.open(rss_file(feed),'r').read
|
97
99
|
end
|
98
100
|
|
99
101
|
private
|
100
102
|
|
101
|
-
def fetch_feed(feed)
|
103
|
+
def fetch_feed(feed, opts={})
|
104
|
+
o = {save_rss: false}.merge opts
|
105
|
+
|
102
106
|
if scheduled? feed.occurrence and recency(feed.last_accessed) != 'hot' then
|
103
107
|
|
104
|
-
|
108
|
+
buffer = open(feed.rss_url, 'UserAgent' => 'PolyrexFeedReader').read
|
109
|
+
if o[:save_rss] == true then
|
110
|
+
|
111
|
+
pathname = Pathname.new(rss_file(feed))
|
112
|
+
pathname.dirname.mkdir unless pathname.dirname.exist?
|
113
|
+
File.open(rss_file(feed),'w'){|f| f.write buffer}
|
114
|
+
|
115
|
+
end
|
116
|
+
rss_doc = Document.new(buffer)
|
105
117
|
rss_items = XPath.match(rss_doc.root, '//item')[0..2]
|
106
118
|
|
107
119
|
if feed.records.length <= 0 then
|
@@ -167,6 +179,10 @@ class PolyrexFeedReader
|
|
167
179
|
|
168
180
|
dates.detect{|x| Time.now.between? *x} ? true : false
|
169
181
|
end
|
182
|
+
|
183
|
+
def rss_file(feed)
|
184
|
+
"%s/%s/%s.rss" % [File.dirname(@file_path), feed.parent.id, feed.title]
|
185
|
+
end
|
170
186
|
|
171
187
|
end
|
172
188
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: polyrex-feed-reader
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors: []
|
7
7
|
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-06-
|
12
|
+
date: 2010-06-16 00:00:00 +01:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|