rfeedreader 1.0.12 → 1.0.13
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +4 -0
- data/lib/rfeedreader.rb +45 -20
- data/lib/rfeedreader/version.rb +1 -1
- data/test/test_rfeedreader.rb +4 -0
- data/website/index.html +2 -2
- metadata +68 -61
data/History.txt
CHANGED
data/lib/rfeedreader.rb
CHANGED
@@ -110,14 +110,13 @@ module Rfeedreader
|
|
110
110
|
end
|
111
111
|
|
112
112
|
class Feed
|
113
|
-
attr_accessor :feed_url, :title, :link, :charset, :entries
|
113
|
+
attr_accessor :feed_url, :title, :link, :charset, :entries, :is_mrss
|
114
114
|
|
115
115
|
def initialize(link, hpricot_doc)
|
116
116
|
@feed_url = link
|
117
|
-
read_title hpricot_doc
|
118
|
-
read_link hpricot_doc
|
119
|
-
read_charset hpricot_doc
|
120
117
|
@entries = []
|
118
|
+
|
119
|
+
read_header hpricot_doc
|
121
120
|
end
|
122
121
|
|
123
122
|
def parse_entries(hpricot_doc, nb_posts=10)
|
@@ -126,21 +125,27 @@ module Rfeedreader
|
|
126
125
|
|
127
126
|
# Parse each item
|
128
127
|
(hpricot_doc/"item|entry")[0..nb_posts - 1].each do |item|
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
128
|
+
|
129
|
+
if @is_mrss
|
130
|
+
puts "is_mrss"
|
131
|
+
@entries<<Entry_MRSS.new(item, self.charset)
|
132
|
+
else
|
133
|
+
case type
|
134
|
+
when "source_flickr"
|
135
|
+
@entries<<Entry_Flickr.new(item, self.charset)
|
136
|
+
when "source_fotolog"
|
137
|
+
@entries<<Entry_Fotolog.new(item, self.charset)
|
138
|
+
when "source_google_video"
|
139
|
+
@entries<<Entry_Google_Video.new(item, self.charset)
|
140
|
+
when "source_jumpcut"
|
141
|
+
@entries<<Entry_Jumpcut.new(item, self.charset)
|
142
|
+
when "source_picasa"
|
143
|
+
@entries<<Entry_Picasa.new(item, self.charset)
|
144
|
+
when "source_youtube"
|
145
|
+
@entries<<Entry_Youtube.new(item, self.charset)
|
146
|
+
else
|
147
|
+
@entries<<Entry.new(item, self.charset)
|
148
|
+
end
|
144
149
|
end
|
145
150
|
end
|
146
151
|
end
|
@@ -163,9 +168,22 @@ module Rfeedreader
|
|
163
168
|
|
164
169
|
protected
|
165
170
|
|
171
|
+
def read_header(hpricot_doc)
|
172
|
+
read_title hpricot_doc
|
173
|
+
read_link hpricot_doc
|
174
|
+
read_charset hpricot_doc
|
175
|
+
read_mrss hpricot_doc
|
176
|
+
end
|
177
|
+
|
178
|
+
def read_mrss(hpricot_doc)
|
179
|
+
media = hpricot_doc.to_s.scan(/xmlns:media=['"]?([^'"]*)['" ]/)
|
180
|
+
media *= "" if media.is_a? Array
|
181
|
+
@is_mrss = media == "http://search.yahoo.com/mrss/"
|
182
|
+
end
|
183
|
+
|
166
184
|
def read_charset(hpricot_doc)
|
167
185
|
@charset = hpricot_doc.to_s.scan(/encoding=['"]?([^'"]*)['" ]/)
|
168
|
-
@charset
|
186
|
+
@charset *= "" if @charset.is_a? Array
|
169
187
|
@charset = @charset.to_s.downcase
|
170
188
|
@charset = 'utf-8' if @charset.empty?
|
171
189
|
end
|
@@ -275,6 +293,13 @@ module Rfeedreader
|
|
275
293
|
"Entry: title: #{@title} - link: #{@url}\n\rdescription: #{@description}"
|
276
294
|
end
|
277
295
|
end
|
296
|
+
|
297
|
+
class Entry_MRSS<Entry
|
298
|
+
def read_description
|
299
|
+
image = @hpricot_item.search("media:thumbnail").to_s.scan(/url=['"]?([^'"]*)['" ]/).to_s
|
300
|
+
@description = "<a href='#{@link}' class='image_link'><img src='#{image}' class='post_image'/></a>"
|
301
|
+
end
|
302
|
+
end
|
278
303
|
|
279
304
|
class Entry_Flickr<Entry
|
280
305
|
def read_description
|
data/lib/rfeedreader/version.rb
CHANGED
data/test/test_rfeedreader.rb
CHANGED
data/website/index.html
CHANGED
@@ -33,7 +33,7 @@
|
|
33
33
|
<h1>rfeedreader</h1>
|
34
34
|
<div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/rfeedreader"; return false'>
|
35
35
|
<p>Get Version</p>
|
36
|
-
<a href="http://rubyforge.org/projects/rfeedreader" class="numbers">1.0.
|
36
|
+
<a href="http://rubyforge.org/projects/rfeedreader" class="numbers">1.0.13</a>
|
37
37
|
</div>
|
38
38
|
<h2>What</h2>
|
39
39
|
|
@@ -89,7 +89,7 @@ Rfeedfinder.read('http://blog.alexgirard.com/feed/', nb_posts=3)
|
|
89
89
|
|
90
90
|
<p>Comments are welcome. Send an email to <a href="mailto:alx.girard@gmail.com">Alexandre Girard</a>.</p>
|
91
91
|
<p class="coda">
|
92
|
-
<a href="mailto:drnicwilliams@gmail.com">Dr Nic</a>,
|
92
|
+
<a href="mailto:drnicwilliams@gmail.com">Dr Nic</a>, 2nd June 2008<br>
|
93
93
|
Theme extended from <a href="http://rb2js.rubyforge.org/">Paul Battley</a>
|
94
94
|
</p>
|
95
95
|
</div>
|
metadata
CHANGED
@@ -1,73 +1,21 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.9.4
|
3
|
-
specification_version: 1
|
4
2
|
name: rfeedreader
|
5
3
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 1.0.
|
7
|
-
date: 2008-03-12 00:00:00 +01:00
|
8
|
-
summary: Feed parser to read feed and return first posts of this feed. Special parsing from sources like Flickr, Jumcut, Google video, ...
|
9
|
-
require_paths:
|
10
|
-
- lib
|
11
|
-
email: alx.girard@gmail.com
|
12
|
-
homepage: http://rfeedreader.rubyforge.org
|
13
|
-
rubyforge_project: rfeedreader
|
14
|
-
description: Feed parser to read feed and return first posts of this feed. Special parsing from sources like Flickr, Jumcut, Google video, ...
|
15
|
-
autorequire:
|
16
|
-
default_executable:
|
17
|
-
bindir: bin
|
18
|
-
has_rdoc: true
|
19
|
-
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
20
|
-
requirements:
|
21
|
-
- - ">"
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: 0.0.0
|
24
|
-
version:
|
4
|
+
version: 1.0.13
|
25
5
|
platform: ruby
|
26
|
-
signing_key:
|
27
|
-
cert_chain:
|
28
|
-
post_install_message:
|
29
6
|
authors:
|
30
7
|
- Alexandre Girard
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
- Manifest.txt
|
35
|
-
- README.txt
|
36
|
-
- Rakefile
|
37
|
-
- lib/rfeedreader.rb
|
38
|
-
- lib/rfeedreader/version.rb
|
39
|
-
- scripts/txt2html
|
40
|
-
- setup.rb
|
41
|
-
- test/test_helper.rb
|
42
|
-
- test/test_rfeedreader.rb
|
43
|
-
- website/index.html
|
44
|
-
- website/index.txt
|
45
|
-
- website/javascripts/rounded_corners_lite.inc.js
|
46
|
-
- website/stylesheets/screen.css
|
47
|
-
- website/template.rhtml
|
48
|
-
test_files:
|
49
|
-
- test/test_helper.rb
|
50
|
-
- test/test_rfeedreader.rb
|
51
|
-
rdoc_options:
|
52
|
-
- --main
|
53
|
-
- README.txt
|
54
|
-
extra_rdoc_files:
|
55
|
-
- History.txt
|
56
|
-
- License.txt
|
57
|
-
- Manifest.txt
|
58
|
-
- README.txt
|
59
|
-
- website/index.txt
|
60
|
-
executables: []
|
61
|
-
|
62
|
-
extensions: []
|
63
|
-
|
64
|
-
requirements: []
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
65
11
|
|
12
|
+
date: 2008-06-20 00:00:00 -03:00
|
13
|
+
default_executable:
|
66
14
|
dependencies:
|
67
15
|
- !ruby/object:Gem::Dependency
|
68
16
|
name: rfeedfinder
|
69
17
|
version_requirement:
|
70
|
-
version_requirements: !ruby/object:Gem::
|
18
|
+
version_requirements: !ruby/object:Gem::Requirement
|
71
19
|
requirements:
|
72
20
|
- - ">="
|
73
21
|
- !ruby/object:Gem::Version
|
@@ -76,7 +24,7 @@ dependencies:
|
|
76
24
|
- !ruby/object:Gem::Dependency
|
77
25
|
name: htmlentities
|
78
26
|
version_requirement:
|
79
|
-
version_requirements: !ruby/object:Gem::
|
27
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
28
|
requirements:
|
81
29
|
- - ">="
|
82
30
|
- !ruby/object:Gem::Version
|
@@ -85,9 +33,68 @@ dependencies:
|
|
85
33
|
- !ruby/object:Gem::Dependency
|
86
34
|
name: hpricot
|
87
35
|
version_requirement:
|
88
|
-
version_requirements: !ruby/object:Gem::
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
37
|
requirements:
|
90
38
|
- - ">="
|
91
39
|
- !ruby/object:Gem::Version
|
92
40
|
version: "0.6"
|
93
41
|
version:
|
42
|
+
description: Feed parser to read feed and return first posts of this feed. Special parsing from sources like Flickr, Jumcut, Google video, ...
|
43
|
+
email: alx.girard@gmail.com
|
44
|
+
executables: []
|
45
|
+
|
46
|
+
extensions: []
|
47
|
+
|
48
|
+
extra_rdoc_files:
|
49
|
+
- History.txt
|
50
|
+
- License.txt
|
51
|
+
- Manifest.txt
|
52
|
+
- README.txt
|
53
|
+
- website/index.txt
|
54
|
+
files:
|
55
|
+
- History.txt
|
56
|
+
- License.txt
|
57
|
+
- Manifest.txt
|
58
|
+
- README.txt
|
59
|
+
- Rakefile
|
60
|
+
- lib/rfeedreader.rb
|
61
|
+
- lib/rfeedreader/version.rb
|
62
|
+
- scripts/txt2html
|
63
|
+
- setup.rb
|
64
|
+
- test/test_helper.rb
|
65
|
+
- test/test_rfeedreader.rb
|
66
|
+
- website/index.html
|
67
|
+
- website/index.txt
|
68
|
+
- website/javascripts/rounded_corners_lite.inc.js
|
69
|
+
- website/stylesheets/screen.css
|
70
|
+
- website/template.rhtml
|
71
|
+
has_rdoc: true
|
72
|
+
homepage: http://rfeedreader.rubyforge.org
|
73
|
+
post_install_message:
|
74
|
+
rdoc_options:
|
75
|
+
- --main
|
76
|
+
- README.txt
|
77
|
+
require_paths:
|
78
|
+
- lib
|
79
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - ">="
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: "0"
|
84
|
+
version:
|
85
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: "0"
|
90
|
+
version:
|
91
|
+
requirements: []
|
92
|
+
|
93
|
+
rubyforge_project: rfeedreader
|
94
|
+
rubygems_version: 1.1.1
|
95
|
+
signing_key:
|
96
|
+
specification_version: 2
|
97
|
+
summary: Feed parser to read feed and return first posts of this feed. Special parsing from sources like Flickr, Jumcut, Google video, ...
|
98
|
+
test_files:
|
99
|
+
- test/test_helper.rb
|
100
|
+
- test/test_rfeedreader.rb
|