diff --git a/ChangeLog b/ChangeLog index 56743553fe..19712d4c38 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Sat Nov 27 17:21:30 2004 Kouhei Sutou + + * sample/rss/list_description.rb: untabified. + + * sample/rss/rss_recent.rb: ditto. + Sat Nov 27 09:41:21 2004 Yukihiro Matsumoto * io.c (io_fread): [ruby-dev:24964] diff --git a/sample/rss/list_description.rb b/sample/rss/list_description.rb index e0b59ea659..ac1db099ca 100644 --- a/sample/rss/list_description.rb +++ b/sample/rss/list_description.rb @@ -2,12 +2,12 @@ require "nkf" class String - # From tdiary.rb - def shorten( len = 120 ) - lines = NKF::nkf( "-e -m0 -f#{len}", self.gsub( /\n/, ' ' ) ).split( /\n/ ) - lines[0].concat( '...' ) if lines[0] and lines[1] - lines[0] - end + # From tdiary.rb + def shorten( len = 120 ) + lines = NKF::nkf( "-e -m0 -f#{len}", self.gsub( /\n/, ' ' ) ).split( /\n/ ) + lines[0].concat( '...' ) if lines[0] and lines[1] + lines[0] + end end require "rss/1.0" @@ -18,66 +18,66 @@ channels = {} verbose = false def error(exception) - mark = "=" * 20 - mark = "#{mark} error #{mark}" - puts mark - puts exception.class - puts exception.message - puts exception.backtrace - puts mark + mark = "=" * 20 + mark = "#{mark} error #{mark}" + puts mark + puts exception.class + puts exception.message + puts exception.backtrace + puts mark end before_time = Time.now ARGV.each do |fname| - if fname == '-v' - verbose = true - next - end - rss = nil - f = File.new(fname).read - begin - ## do validate parse - rss = RSS::Parser.parse(f) - rescue RSS::InvalidRSSError - error($!) if verbose - ## do non validate parse for invalid RSS 1.0 - begin - rss = RSS::Parser.parse(f, false) - rescue RSS::Error - ## invalid RSS. - error($!) if verbose - end - rescue RSS::Error - error($!) if verbose - end - if rss.nil? - puts "#{fname} does not include RSS 1.0 or 0.9x/2.0" - else - begin - rss.output_encoding = "euc-jp" - rescue RSS::UnknownConversionMethodError - error($!) if verbose - end - rss.channel.title ||= "Unknown" - rss.items.each do |item| - item.title ||= "Unknown" - channels[rss.channel.title] ||= [] - channels[rss.channel.title] << item if item.description - end - end + if fname == '-v' + verbose = true + next + end + rss = nil + f = File.new(fname).read + begin + ## do validate parse + rss = RSS::Parser.parse(f) + rescue RSS::InvalidRSSError + error($!) if verbose + ## do non validate parse for invalid RSS 1.0 + begin + rss = RSS::Parser.parse(f, false) + rescue RSS::Error + ## invalid RSS. + error($!) if verbose + end + rescue RSS::Error + error($!) if verbose + end + if rss.nil? + puts "#{fname} does not include RSS 1.0 or 0.9x/2.0" + else + begin + rss.output_encoding = "euc-jp" + rescue RSS::UnknownConversionMethodError + error($!) if verbose + end + rss.channel.title ||= "Unknown" + rss.items.each do |item| + item.title ||= "Unknown" + channels[rss.channel.title] ||= [] + channels[rss.channel.title] << item if item.description + end + end end processing_time = Time.now - before_time channels.sort do |x, y| - x[0] <=> y[0] + x[0] <=> y[0] end[0..20].each do |title, items| - puts "Channel: #{title}" unless items.empty? - items.sort do |x, y| - x.title <=> y.title - end[0..10].each do |item| - puts " Item: #{item.title.shorten(50)}" - puts " Description: #{item.description.shorten(50)}" - end + puts "Channel: #{title}" unless items.empty? + items.sort do |x, y| + x.title <=> y.title + end[0..10].each do |item| + puts " Item: #{item.title.shorten(50)}" + puts " Description: #{item.description.shorten(50)}" + end end puts "Used XML parser: #{RSS::Parser.default_parser}" diff --git a/sample/rss/rss_recent.rb b/sample/rss/rss_recent.rb index 8e40151e1c..70776c1e8a 100644 --- a/sample/rss/rss_recent.rb +++ b/sample/rss/rss_recent.rb @@ -2,12 +2,12 @@ require "nkf" class String - # From tdiary.rb - def shorten( len = 120 ) - lines = NKF::nkf( "-e -m0 -f#{len}", self.gsub( /\n/, ' ' ) ).split( /\n/ ) - lines[0].concat( '...' ) if lines[0] and lines[1] - lines[0] - end + # From tdiary.rb + def shorten( len = 120 ) + lines = NKF::nkf( "-e -m0 -f#{len}", self.gsub( /\n/, ' ' ) ).split( /\n/ ) + lines[0].concat( '...' ) if lines[0] and lines[1] + lines[0] + end end require "rss/1.0" @@ -18,65 +18,65 @@ items = [] verbose = false def error(exception) - mark = "=" * 20 - mark = "#{mark} error #{mark}" - puts mark - puts exception.class - puts exception.message - puts exception.backtrace - puts mark + mark = "=" * 20 + mark = "#{mark} error #{mark}" + puts mark + puts exception.class + puts exception.message + puts exception.backtrace + puts mark end before_time = Time.now ARGV.each do |fname| - if fname == '-v' - verbose = true - next - end - rss = nil - f = File.new(fname).read - begin - ## do validate parse - rss = RSS::Parser.parse(f) - rescue RSS::InvalidRSSError - error($!) if verbose - ## do non validate parse for invalid RSS 1.0 - begin - rss = RSS::Parser.parse(f, false) - rescue RSS::Error - ## invalid RSS. - error($!) if verbose - end - rescue RSS::Error - error($!) if verbose - end - if rss.nil? - puts "#{fname} does not include RSS 1.0 or 0.9x/2.0" - else - begin - rss.output_encoding = "euc-jp" - 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] - end - end - end + if fname == '-v' + verbose = true + next + end + rss = nil + f = File.new(fname).read + begin + ## do validate parse + rss = RSS::Parser.parse(f) + rescue RSS::InvalidRSSError + error($!) if verbose + ## do non validate parse for invalid RSS 1.0 + begin + rss = RSS::Parser.parse(f, false) + rescue RSS::Error + ## invalid RSS. + error($!) if verbose + end + rescue RSS::Error + error($!) if verbose + end + if rss.nil? + puts "#{fname} does not include RSS 1.0 or 0.9x/2.0" + else + begin + rss.output_encoding = "euc-jp" + 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] + end + end + end end processing_time = Time.now - before_time items.sort do |x, y| - y[1].dc_date <=> x[1].dc_date + y[1].dc_date <=> x[1].dc_date end[0..20].each do |channel, item| - puts "#{item.dc_date.localtime.iso8601}: " << - "#{channel.title}: #{item.title}" - puts " Description: #{item.description.shorten(50)}" if item.description + puts "#{item.dc_date.localtime.iso8601}: " << + "#{channel.title}: #{item.title}" + puts " Description: #{item.description.shorten(50)}" if item.description end puts "Used XML parser: #{RSS::Parser.default_parser}"