rfeedfinder 0.9.1 → 0.9.2

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.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