summaryrefslogtreecommitdiff
path: root/sample
diff options
context:
space:
mode:
authorkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-10-21 12:19:43 +0000
committerkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-10-21 12:19:43 +0000
commit57a639494a2a002f496a945979e2bf499b0d9fdb (patch)
tree53fadfc1666459e1286735a37171539883d66d70 /sample
parent754b1fac44487454cc25a14443615c0fba3da6ad (diff)
* lib/rss.rb, lib/rss/, test/rss/, sample/rss/: merged from trunk.
- 0.1.6 -> 2.0.0. - fixed image module URI. Thanks to Dmitry Borodaenko. - supported Atom. - supported ITunes module. - supported Slash module. * NEWS: added an entry for RSS Parser. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@13747 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'sample')
-rwxr-xr-xsample/rss/blend.rb6
-rwxr-xr-xsample/rss/convert.rb2
-rwxr-xr-x[-rw-r--r--]sample/rss/list_description.rb13
-rwxr-xr-xsample/rss/re_read.rb10
-rwxr-xr-x[-rw-r--r--]sample/rss/rss_recent.rb20
5 files changed, 35 insertions, 16 deletions
diff --git a/sample/rss/blend.rb b/sample/rss/blend.rb
index 2fbd6efed6..351f6f373f 100755
--- a/sample/rss/blend.rb
+++ b/sample/rss/blend.rb
@@ -64,6 +64,12 @@ rss = RSS::Maker.make("1.0") do |maker|
item.setup_maker(maker.items)
end
end
+
+ maker.items.each do |item|
+ item.title ||= "UNKNOWN"
+ item.link ||= "UNKNOWN"
+ end
+
maker.items.do_sort = true
maker.items.max_size = 15
end
diff --git a/sample/rss/convert.rb b/sample/rss/convert.rb
index 394b13e8eb..e6bff4c623 100755
--- a/sample/rss/convert.rb
+++ b/sample/rss/convert.rb
@@ -23,7 +23,7 @@ ARGV.each do |fname|
when '-v'
verbose = true
next
- when /^-t(0\.91|1\.0|2\.0)$/
+ when /^-t(0\.91|1\.0|2\.0|atom)$/
to_version = $1
next
end
diff --git a/sample/rss/list_description.rb b/sample/rss/list_description.rb
index bb1f9636e2..d4b98a9ac6 100644..100755
--- a/sample/rss/list_description.rb
+++ b/sample/rss/list_description.rb
@@ -56,9 +56,18 @@ ARGV.each do |fname|
rescue RSS::UnknownConversionMethodError
error($!) if verbose
end
- rss.channel.title ||= "Unknown"
+
+ rss = rss.to_rss("1.0") do |maker|
+ maker.channel.about ||= maker.channel.link
+ maker.channel.description ||= "No description"
+ maker.items.each do |item|
+ item.title ||= "No title"
+ item.link ||= "UNKNOWN"
+ end
+ end
+ next if rss.nil?
+
rss.items.each do |item|
- item.title ||= "Unknown"
channels[rss.channel.title] ||= []
channels[rss.channel.title] << item if item.description
end
diff --git a/sample/rss/re_read.rb b/sample/rss/re_read.rb
index c19a5099bb..ee54a18a88 100755
--- a/sample/rss/re_read.rb
+++ b/sample/rss/re_read.rb
@@ -29,16 +29,16 @@ ARGV.each do |fname|
read = false
begin
rss = RSS::Parser.parse(source)
- puts "Re-read valid RSS: #{fname}"
+ puts "Re-read valid feed: #{fname}"
RSS::Parser.parse(rss.to_s)
read = true
rescue RSS::InvalidRSSError
error($!) if verbose
- ## do non validate parse for invalid RSS 1.0
+ ## do non validate parse for invalid feed
begin
rss = RSS::Parser.parse(source, false)
rescue RSS::Error
- ## invalid RSS.
+ ## invalid feed
error($!) if verbose
end
rescue RSS::Error
@@ -46,9 +46,9 @@ ARGV.each do |fname|
end
if rss.nil?
- puts "Invalid RSS: #{fname}"
+ puts "Invalid feed: #{fname}"
elsif !read
- puts "Re-read invalid RSS: #{fname}"
+ puts "Re-read invalid feed: #{fname}"
begin
RSS::Parser.parse(rss.to_s)
rescue RSS::Error
diff --git a/sample/rss/rss_recent.rb b/sample/rss/rss_recent.rb
index 7821df5c7b..38b57c37fa 100644..100755
--- a/sample/rss/rss_recent.rb
+++ b/sample/rss/rss_recent.rb
@@ -55,16 +55,20 @@ ARGV.each do |fname|
rescue RSS::UnknownConversionMethodError
error($!) if verbose
end
- rss.items.each do |item|
- if item.respond_to?(:pubDate) and item.pubDate
- class << item
- alias_method(:dc_date, :pubDate)
- end
- end
- if item.respond_to?(:dc_date) and item.dc_date
- items << [rss.channel, item]
+
+ rss = rss.to_rss("1.0") do |maker|
+ maker.channel.about ||= maker.channel.link
+ maker.channel.description ||= "No description"
+ maker.items.each do |item|
+ item.title ||= "UNKNOWN"
+ item.link ||= "UNKNOWN"
end
end
+ next if rss.nil?
+
+ rss.items.each do |item|
+ items << [rss.channel, item] if item.dc_date
+ end
end
end
processing_time = Time.now - before_time