rfeedfinder 0.9.2 → 0.9.3

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