rfeedfinder 0.9.1 → 0.9.2

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.2 2007-08-27
2
+
3
+ * Verify HTTP::302 redirection, really useful for fotolog feeds
4
+
1
5
  == 0.9.1 2007-08-26
2
6
 
3
7
  * Can read Jumpcut webpage
data/lib/rfeedfinder.rb CHANGED
@@ -71,6 +71,24 @@ module Rfeedfinder
71
71
  return newuris[0].strip
72
72
  end
73
73
  end
74
+
75
+ def verifyRedirect(feedlist)
76
+ feedlist.each do |feed|
77
+ begin
78
+ response = Net::HTTP.get_response(URI.parse(feed))
79
+ #puts "Verify #{feed} - code: #{response.code}"
80
+ if response.code == "302"
81
+ newuri = response.body.match(/<a href=\"([^>]+)\">/)[1]
82
+ feedlist.delete(feed)
83
+ feedlist << newuri
84
+ feedlist.uniq!
85
+ end
86
+ rescue
87
+ # rescue net error
88
+ end
89
+ end
90
+ return feedlist
91
+ end
74
92
 
75
93
  def isFeedData?(data)
76
94
  # if no html tag and rss, rdf or feed tag, it's a feed
@@ -132,7 +150,11 @@ module Rfeedfinder
132
150
  end
133
151
 
134
152
  # is this already a feed?
135
- return [fulluri] if isFeedData?(data)
153
+ if isFeedData?(data)
154
+ feedlist = [fulluri]
155
+ verifyRedirect(feedlist)
156
+ return feedlist
157
+ end
136
158
 
137
159
  #verify redirection
138
160
  newuri = tryBrokenRedirect(data)
@@ -219,6 +241,10 @@ module Rfeedfinder
219
241
  #_debuglog('still no luck, searching Syndic8')
220
242
  outfeeds << getFeedsFromSyndic8(uri) if querySyndic8 and outfeeds.empty?
221
243
  #outfeeds = list(set(outfeeds)) if hasattr(__builtins__, 'set') or __builtins__.has_key('set')
244
+
245
+ # Verify redirection
246
+ verifyRedirect(outfeeds)
247
+
222
248
  return outfeeds.flatten
223
249
  end
224
250
 
@@ -2,7 +2,7 @@ module Rfeedfinder #:nodoc:
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 9
5
- TINY = 1
5
+ TINY = 2
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
@@ -95,10 +95,22 @@ class TestRfeedfinder < Test::Unit::TestCase
95
95
  def test_fotolog
96
96
  feed_finder "http://www.fotolog.com/darth_fonsu/"
97
97
  feed_finder "http://www.fotolog.com/darth_fonsu/feed/main/rss20"
98
- feed_finder "http://www1.fotolog.com/mad_lux", "http://www.fotolog.com/mad_lux/feed/main/rss20"
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
101
101
 
102
+ def test_google_video
103
+ feed_finder "http://video.google.com/videosearch?hl=en&safe=off&q=the+office"
104
+ end
105
+
106
+ def test_blogsome
107
+ feed_finder "http://voxd.blogsome.com/"
108
+ end
109
+
110
+ def test_bloger_hr
111
+ feed_finder "http://andreja666.bloger.hr/"
112
+ end
113
+
102
114
  def test_not_fulluri_link
103
115
  # Meta link is only giving /feed/atom.xml
104
116
  feed_finder "http://blog.zvents.com/", "http://blog.zvents.com/feed/atom.xml"
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.1</a>
36
+ <a href="http://rubyforge.org/projects/rfeedfinder" class="numbers">0.9.2</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.1
7
- date: 2007-08-25 00:00:00 +02:00
6
+ version: 0.9.2
7
+ date: 2007-08-29 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