damog-feedbag 0.5.12 → 0.5.13.1

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.
Files changed (2) hide show
  1. data/lib/feedbag.rb +32 -28
  2. metadata +1 -1
data/lib/feedbag.rb CHANGED
@@ -50,7 +50,7 @@ module Feedbag
50
50
  end
51
51
  end
52
52
 
53
- def self.find(url)
53
+ def self.find(url, args = {})
54
54
  $feeds = []
55
55
 
56
56
  url_uri = URI.parse(url)
@@ -65,20 +65,22 @@ module Feedbag
65
65
  #url = "#{url_uri.scheme or 'http'}://#{url_uri.host}#{url_uri.path}"
66
66
 
67
67
  # check if feed_valid is avail
68
- begin
69
- require "feed_validator"
70
- v = W3C::FeedValidator.new
71
- v.validate_url(url)
72
- return self.add_feed(url, nil) if v.valid?
73
- rescue LoadError
74
- # scoo
75
- rescue REXML::ParseException
76
- # usually indicates timeout
77
- # TODO: actually find out timeout. use Terminator?
78
- $stderr.puts "Feed looked like feed but might not have passed validation or timed out"
79
- rescue => ex
80
- $stderr.puts "#{ex.class} error ocurred with: `#{url}': #{ex.message}"
81
- end
68
+ unless args[:narrow]
69
+ begin
70
+ require "feed_validator"
71
+ v = W3C::FeedValidator.new
72
+ v.validate_url(url)
73
+ return self.add_feed(url, nil) if v.valid?
74
+ rescue LoadError
75
+ # scoo
76
+ rescue REXML::ParseException
77
+ # usually indicates timeout
78
+ # TODO: actually find out timeout. use Terminator?
79
+ $stderr.puts "Feed looked like feed but might not have passed validation or timed out"
80
+ rescue => ex
81
+ $stderr.puts "#{ex.class} error ocurred with: `#{url}': #{ex.message}"
82
+ end
83
+ end
82
84
 
83
85
  begin
84
86
  html = open(url) do |f|
@@ -102,19 +104,21 @@ module Feedbag
102
104
  end
103
105
  end
104
106
 
105
- (doc/"a").each do |a|
106
- next unless a["href"]
107
- if self.looks_like_feed?(a["href"]) and (a["href"] =~ /\// or a["href"] =~ /#{url_uri.host}/)
108
- self.add_feed(a["href"], url, $base_uri)
109
- end
110
- end
111
-
112
- (doc/"a").each do |a|
113
- next unless a["href"]
114
- if self.looks_like_feed?(a["href"])
115
- self.add_feed(a["href"], url, $base_uri)
116
- end
117
- end
107
+ unless args[:narrow]
108
+ (doc/"a").each do |a|
109
+ next unless a["href"]
110
+ if self.looks_like_feed?(a["href"]) and (a["href"] =~ /\// or a["href"] =~ /#{url_uri.host}/)
111
+ self.add_feed(a["href"], url, $base_uri)
112
+ end
113
+ end
114
+
115
+ (doc/"a").each do |a|
116
+ next unless a["href"]
117
+ if self.looks_like_feed?(a["href"])
118
+ self.add_feed(a["href"], url, $base_uri)
119
+ end
120
+ end
121
+ end
118
122
 
119
123
  end
120
124
  rescue Timeout::Error => err
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: damog-feedbag
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.12
4
+ version: 0.5.13.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Axiombox