rfeedfinder 0.9.2 → 0.9.3

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/History.txt CHANGED
@@ -1,3 +1,7 @@
1
+ == 0.9.3 2007-09-01
2
+
3
+ * correct case problem on isFeed? method
4
+
1
5
  == 0.9.2 2007-08-27
2
6
 
3
7
  * Verify HTTP::302 redirection, really useful for fotolog feeds
data/lib/rfeedfinder.rb CHANGED
@@ -92,7 +92,7 @@ module Rfeedfinder
92
92
 
93
93
  def isFeedData?(data)
94
94
  # if no html tag and rss, rdf or feed tag, it's a feed
95
- return ((data/:html).empty? and (!(data/:rss).nil? or !(data/:rdf).nil? or !(data/:feed).nil?))
95
+ return ((data/"html|HTML").empty? and (!(data/:rss).nil? or !(data/:rdf).nil? or !(data/:feed).nil?))
96
96
  end
97
97
 
98
98
  def isFeed?(uri)
@@ -104,16 +104,9 @@ module Rfeedfinder
104
104
  # URI error
105
105
  return false
106
106
  end
107
- begin
108
- data = Hpricot(open(uri), :xml => true)
109
- rescue OpenURI::HTTPError
110
- html = Net::HTTP.get(URI.parse(uri))
111
- data = Hpricot(html, :xml => true)
112
- rescue Timeout::Error
113
- return false
114
- rescue
115
- return false
116
- end
107
+
108
+ data = open_doc(uri)
109
+ return false if data.nil?
117
110
 
118
111
  return isFeedData?(data)
119
112
  end
@@ -133,21 +126,30 @@ module Rfeedfinder
133
126
  return feeds
134
127
  end
135
128
 
136
- def feeds(uri, all=false, querySyndic8=false, _recurs=nil)
137
- _recurs = [uri] if _recurs.nil?
138
- fulluri = makeFullURI(uri)
139
-
129
+ def open_doc(link)
140
130
  begin
141
- data = Hpricot(open(fulluri), :xml => true)
131
+ data = Hpricot(open(link,
132
+ "User-Agent" => "Ruby/#{RUBY_VERSION} - Rfeedfinder",
133
+ "From" => "rfeedfinder@googlegroups.com",
134
+ "Referer" => "http://rfeedfinder.rubyforge.org/"), :xml => true)
142
135
  rescue Timeout::Error
143
- return []
136
+ return nil
144
137
  rescue OpenURI::HTTPError
145
- html = Net::HTTP.get(URI.parse(fulluri))
138
+ html = Net::HTTP.get(URI.parse(link))
146
139
  data = Hpricot(html, :xml => true)
147
140
  rescue => err
148
- puts "Error while opening #{fulluri} with Hpricot: #{err.class} " << $!
149
- return []
141
+ puts "Error while opening #{link} with Hpricot: #{err.class} " << $!
142
+ return nil
150
143
  end
144
+ return data
145
+ end
146
+
147
+ def feeds(uri, all=false, querySyndic8=false, _recurs=nil)
148
+ _recurs = [uri] if _recurs.nil?
149
+ fulluri = makeFullURI(uri)
150
+
151
+ data = open_doc(fulluri)
152
+ return [] if data.nil?
151
153
 
152
154
  # is this already a feed?
153
155
  if isFeedData?(data)
@@ -212,7 +214,7 @@ module Rfeedfinder
212
214
  outfeeds << selected_feeds unless selected_feeds.empty?
213
215
  # outfeeds.each{|link| puts "4 #{link}"}
214
216
  end
215
-
217
+
216
218
  if outfeeds.empty?
217
219
  # no A tags, guessing
218
220
  # filenames used by popular software:
@@ -2,7 +2,7 @@ module Rfeedfinder #:nodoc:
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 9
5
- TINY = 2
5
+ TINY = 3
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
@@ -94,7 +94,7 @@ class TestRfeedfinder < Test::Unit::TestCase
94
94
 
95
95
  def test_fotolog
96
96
  feed_finder "http://www.fotolog.com/darth_fonsu/"
97
- feed_finder "http://www.fotolog.com/darth_fonsu/feed/main/rss20"
97
+ feed_finder "http://www0.fotolog.com/darth_fonsu/feed/main/rss20"
98
98
  feed_finder "http://www1.fotolog.com/mad_lux", "http://www0.fotolog.com/mad_lux/feed/main/rss20"
99
99
  feed_finder "http://www1.fotolog.com/kel_06/"
100
100
  end
@@ -107,12 +107,12 @@ class TestRfeedfinder < Test::Unit::TestCase
107
107
  feed_finder "http://voxd.blogsome.com/"
108
108
  end
109
109
 
110
- def test_bloger_hr
111
- feed_finder "http://andreja666.bloger.hr/"
112
- end
113
-
114
110
  def test_not_fulluri_link
115
111
  # Meta link is only giving /feed/atom.xml
116
112
  feed_finder "http://blog.zvents.com/", "http://blog.zvents.com/feed/atom.xml"
117
113
  end
114
+
115
+ def test_412_error
116
+ feed_finder "http://www.arteleku.net/4.1/blog/laburrak/?feed=rss2", "http://www.arteleku.net/4.1/blog/laburrak/?feed=rss2"
117
+ end
118
118
  end
data/website/index.html CHANGED
@@ -33,7 +33,7 @@
33
33
  <h1>rfeedfinder</h1>
34
34
  <div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/rfeedfinder"; return false'>
35
35
  <p>Get Version</p>
36
- <a href="http://rubyforge.org/projects/rfeedfinder" class="numbers">0.9.2</a>
36
+ <a href="http://rubyforge.org/projects/rfeedfinder" class="numbers">0.9.3</a>
37
37
  </div>
38
38
  <h2>What</h2>
39
39
 
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.4
3
3
  specification_version: 1
4
4
  name: rfeedfinder
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.9.2
7
- date: 2007-08-29 00:00:00 +02:00
6
+ version: 0.9.3
7
+ date: 2007-09-01 00:00:00 +02:00
8
8
  summary: rFeedFinder uses RSS autodiscovery, Atom autodiscovery, spidering, URL correction, and Web service queries -- whatever it takes -- to find the feed.
9
9
  require_paths:
10
10
  - lib