diff options
author | Sutou Kouhei <kou@clear-code.com> | 2021-01-17 06:07:54 +0900 |
---|---|---|
committer | Sutou Kouhei <kou@clear-code.com> | 2021-01-17 06:07:54 +0900 |
commit | f2767cf09174bfe5340c9269a2fa53f226f97ba8 (patch) | |
tree | f2328f53a538ad79bc13d3fb4bdcfac91a66aafe /sample/rss/blend.rb | |
parent | 35a047301b545dde2836948a7b1d4a39131f294e (diff) | |
download | ruby-f2767cf09174bfe5340c9269a2fa53f226f97ba8.tar.gz |
Move rss samples to ruby/rss
Diffstat (limited to 'sample/rss/blend.rb')
-rwxr-xr-x | sample/rss/blend.rb | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/sample/rss/blend.rb b/sample/rss/blend.rb deleted file mode 100755 index 351f6f373f..0000000000 --- a/sample/rss/blend.rb +++ /dev/null @@ -1,79 +0,0 @@ -#!/usr/bin/env ruby - -require "rss" - -feeds = [] -verbose = false -encoding = "UTF-8" - -def error(exception) - mark = "=" * 20 - mark = "#{mark} error #{mark}" - STDERR.puts mark - STDERR.puts exception.class - STDERR.puts exception.message - STDERR.puts exception.backtrace - STDERR.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? - STDERR.puts "#{fname} does not include RSS 1.0 or 0.9x/2.0" - else - begin - rss.output_encoding = encoding - rescue RSS::UnknownConversionMethodError - error($!) if verbose - end - feeds << rss - end -end -processing_time = Time.now - before_time - -rss = RSS::Maker.make("1.0") do |maker| - maker.encoding = encoding - maker.channel.about = "http://example.com/blend.rdf" - maker.channel.title = "blended feeds" - maker.channel.link = "http://example.com/" - maker.channel.description = "blended feeds generated by RSS Parser" - - feeds.each do |feed| - feed.items.each do |item| - 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 -puts rss - -STDERR.puts "Used XML parser: #{RSS::Parser.default_parser}" -STDERR.puts "Processing time: #{processing_time}s" |