pkgsrc/www/raggle/patches/patch-ab
taca f2d4708380 * Add LICENSE.
* use semicolon instead of colon to make work on ruby19.

Bump PKGREVISION.
2010-09-12 03:30:06 +00:00

330 lines
14 KiB
Text
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

$NetBSD: patch-ab,v 1.2 2010/09/12 03:30:06 taca Exp $
--- raggle.orig 2005-12-14 22:54:11.000000000 +0000
+++ raggle
@@ -81,6 +81,7 @@ require 'pstore'
require 'thread'
require 'time'
require 'uri'
+require 'rubygems' if RUBY_VERSION.sub(/\.\d+$/, "") < "1.9"
#########################
# load external modules #
@@ -132,7 +133,7 @@ if $HAVE_LIB['gettext']
GetText::bindtextdomain('raggle', nil)
end
-unless $HAVE_LIB['webrick'] || $HAVE_LIB['ncurses']
+unless $HAVE_LIB['webrick'] and $HAVE_LIB['ncurses']
$stderr.puts _(<<-ENDERR
ERROR: No interfaces available.
You're missing the both the Ncurses-Ruby and WEBrick modules. You need
@@ -457,16 +458,16 @@ class String
HTML_ENTITY_LUT[m]
else
case m
- when 'amp': '&'
- when 'nbsp' ' '
- when /^quot$/ni: '"'
- when /^lt$/ni: '<'
- when /^gt$/ni: '>'
- when /^copy/: '(c)'
- when /^trade/: '(tm)'
- when /^#8212$/n: ","
- when /^#8217$/n: "'"
- when /^#8218$/n: ","
+ when 'amp'; '&'
+ when 'nbsp'; ' '
+ when /^quot$/ni; '"'
+ when /^lt$/ni; '<'
+ when /^gt$/ni; '>'
+ when /^copy/; '(c)'
+ when /^trade/; '(tm)'
+ when /^#8212$/n; ","
+ when /^#8217$/n; "'"
+ when /^#8218$/n; ","
when /^#(\d+)$/n
r = $1.to_i # Integer() interprets leading zeros as octal
if !r.between?(0, 255) && munge_uni
@@ -1146,7 +1147,7 @@ module Raggle
max_items = outline.attributes['max_items'] || nil
priority = outline.attributes['priority'].to_i || $config['default_feed_priority']
# the following properties take effect unless overridden on CLI
- if outline.attributes['refresh']: opml_refresh = outline.attributes['refresh'].to_i
+ if outline.attributes['refresh']; opml_refresh = outline.attributes['refresh'].to_i
else opml_refresh = nil; end # fixes clobberation
frefresh = refresh || opml_refresh || $config['default_feed_refresh']
fsave_items = save_items || outline.attributes['save_items'] || false
@@ -1185,7 +1186,7 @@ module Raggle
raise if $wins
die "Parsing #{file_name} failed: #{parse_err.message}" unless $wins
rescue => err
- if $wins: Interfaces::NcursesInterface::set_status($config['msg_bad_uri'])
+ if $wins; Interfaces::NcursesInterface::set_status($config['msg_bad_uri'])
else die err.message; end
end
end
@@ -1222,7 +1223,7 @@ module Raggle
raise "Couldn't open output file \"#{file_name}\"."
end
rescue => err
- if $wins: Interfaces::NcursesInterface::set_status($config['msg_bad_uri'])
+ if $wins; Interfaces::NcursesInterface::set_status($config['msg_bad_uri'])
else die err.message; end
end
end
@@ -1519,14 +1520,14 @@ module Raggle
refresh_interval_check opts['refresh'] if !opts['force'] &&
opts.has_key?('refresh')
if id == -1
- 0.upto($config['feeds'].size - 1) do |id|
- feed = $config['feeds'].get(id)
+ 0.upto($config['feeds'].size - 1) do |i|
+ feed = $config['feeds'].get(i)
ourl = feed['url']
otitle = feed['title']
%w{title url site refresh priority category lock_title? save_items? max_items}.each { |key|
feed[key] = opts[key] if opts.has_key? key
}
- $config['feeds'].invalidate(id) if opts.has_key?('url') and opts['url'] != ourl
+ $config['feeds'].invalidate(i) if opts.has_key?('url') and opts['url'] != ourl
feed['lock_title?'] = true if opts.has_key?('title') and opts['title'] != otitle
end
else
@@ -1749,14 +1750,14 @@ ENDWARNING
@items = []
item_element_path = is_atom ? '//feed/entry' : '//item'
- doc.root.elements.each(item_element_path) { |e|
+ doc.root.elements.each(item_element_path) { |el|
# get item attributes (the ones that are set, anyway... stupid
# RSS)
h = {}
if is_atom
# parse atom entry
- h = parse_atom_entry(e)
+ h = parse_atom_entry(el)
else
# basic item attribute element check
['title', 'link', 'date', 'description'].each { |val|
@@ -1765,7 +1766,7 @@ ENDWARNING
# more elaborate xpath checks for item attribute elements
['link', 'date', 'description'].each { |key|
- h[key] = find_element(e, key)
+ h[key] = find_element(el, key)
}
# handle RSS enclosures for this element
@@ -1813,8 +1814,15 @@ ENDWARNING
if $HAVE_LIB['iconv'] && $config['use_iconv']
unless $iconv
# $iconv hasn't been intialized; create it
- enc += '//TRANSLIT' if $config['use_iconv_translit']
- $iconv = Iconv.new(enc, 'UTF-8')
+ if $config['use_iconv_translit']
+ begin
+ $iconv = Iconv.new(enc + '//TRANSLIT', 'UTF-8')
+ rescue Iconv::InvalidEncoding
+ $iconv = Iconv.new(enc, 'UTF-8')
+ end
+ else
+ $iconv = Iconv.new(enc, 'UTF-8')
+ end
end
# decode element using iconv
@@ -2025,37 +2033,37 @@ ENDUSAGE
when '--update'
ret['mode'] = 'update'
ret['id'] = (arg && (arg != 'all')) ? arg.to_i : 'all'
- when '--config': $config['config_path'] = arg
- when '--force': ret['force'] = true
- when '--list': ret['mode'] = 'list'
- when '--title': ret['title'] = arg
- when '--url': ret['url'] = arg
- when '--refresh': ret['refresh'] = arg.to_i
+ when '--config'; $config['config_path'] = arg
+ when '--force'; ret['force'] = true
+ when '--list'; ret['mode'] = 'list'
+ when '--title'; ret['title'] = arg
+ when '--url'; ret['url'] = arg
+ when '--refresh'; ret['refresh'] = arg.to_i
when '--version'
puts "Raggle v#$VERSION"
exit(0)
- when '--priority': ret['priority'] = arg.to_i
- when '--purge': ret['mode'] = 'purge'
+ when '--priority'; ret['priority'] = arg.to_i
+ when '--purge'; ret['mode'] = 'purge'
when '--sort'
ret['mode'] = 'sort'
- when '--lock-title': ret['lock_title?'] = true
- when '--unlock-title': ret['lock_title?'] = false
- when '--save-items': ret['save_items?'] = true
+ when '--lock-title'; ret['lock_title?'] = true
+ when '--unlock-title'; ret['lock_title?'] = false
+ when '--save-items'; ret['save_items?'] = true
when '--max'
ret['max_items'] = arg.to_i
ret['save_items?'] = true if ret['max_items'] > 0
- when '--unsave-items': ret['save_items?'] = false
- when '--verbose': $config['verbose'] = true
+ when '--unsave-items'; ret['save_items?'] = false
+ when '--verbose'; $config['verbose'] = true
when '--import-opml'
ret['mode'] = 'import_opml'
ret['opml_file'] = arg
when '--export-opml'
ret['mode'] = 'export_opml'
ret['opml_file'] = arg
- when '--diag': $config['diag'] = true
+ when '--diag'; $config['diag'] = true
when '--default-config'
ret['mode'] = 'default_config'
- when '--ascii': ret['ascii'] = true
+ when '--ascii'; ret['ascii'] = true
when '--server'
if $HAVE_LIB['webrick']
$config['run_http_server'] = true
@@ -2333,10 +2341,10 @@ ENDUSAGE
#
def Key::close_window
case $a_win
- when NcursesInterface::get_win_id('find'): $wins[$a_win].close(true)
- when NcursesInterface::get_win_id('cat'): $wins[$a_win].close(true)
- when NcursesInterface::get_win_id('keys'): $wins[$a_win].close(true)
- when NcursesInterface::get_win_id('edit'): $wins[$a_win].close(true)
+ when NcursesInterface::get_win_id('find'); $wins[$a_win].close(true)
+ when NcursesInterface::get_win_id('cat'); $wins[$a_win].close(true)
+ when NcursesInterface::get_win_id('keys'); $wins[$a_win].close(true)
+ when NcursesInterface::get_win_id('edit'); $wins[$a_win].close(true)
end
end
@@ -3391,11 +3399,11 @@ ENDUSAGE
error = true if (feedopt == 'priority' or feedopt == 'refresh') and
str !~ /^-?\d+$/
error = true if feedopt == 'max_items' and
- not (str =~ /^\d+$/ or str =~ /none|nil/i)
+ not(str =~ /^\d+$/ or str =~ /none|nil/i)
error = true if (feedopt == 'url' or feedopt == 'site') and
not uri?(str)
error = true if feedopt == 'save_items?' and
- not (str =~ /true/i or str =~ /false/i)
+ not(str =~ /true/i or str =~ /false/i)
error = true if feedopt == 'refresh' and
str.to_i < $config['feed_refresh_warn']
if error # bail if user entered nonsense via basic checks
@@ -3405,15 +3413,15 @@ ENDUSAGE
case feedopt # create options hash to pass to engine
when 'save_items?'
- if str =~ /true/i: newopts = {feedopt => true}
+ if str =~ /true/i; newopts = {feedopt => true}
else newopts = {feedopt => false}; end
when 'priority', 'refresh'
newopts = {feedopt => str.to_i}
when 'max_items'
- if str =~ /none|nil/i: newopts = {feedopt => nil}
+ if str =~ /none|nil/i; newopts = {feedopt => nil}
else newopts = {feedopt => str.to_i}; end
when 'category'
- if str =~ /\bnone\b|\bnil\b/i: newopts = {feedopt => nil}
+ if str =~ /\bnone\b|\bnil\b/i; newopts = {feedopt => nil}
else newopts = {feedopt => str}; end
else newopts = {feedopt => str}
end
@@ -3575,7 +3583,7 @@ ENDUSAGE
item_content = item_content.gsub(/href\s*=\s*["']([^'"]+?)['"]/m) {
m = $1.dup
new_url = case m
- when (/^(\w+):\/\//): m
+ when (/^(\w+):\/\//); m
else
# attempt to merge URI with host_uri. if that fails,
# log a warning, then fall back to the unmodified string
@@ -3599,7 +3607,7 @@ ENDUSAGE
# fix host-relative item URL
item_url = feed['items'][id]['url'].dup
item_url = case item_url
- when (/(\w+):\/\//): item_url
+ when (/(\w+):\/\//); item_url
else [host_uri, item_url].join('/')
end
end
@@ -3664,10 +3672,11 @@ ENDUSAGE
# get browser command
cmd = $config['browser_cmd'].map { |cmd_part|
- case cmd_part
- when /%s/: cmd_part % url.escape
- when '${browser}': $config['browser']
- else cmd_part
+ case cmd_part
+ when /%s/; cmd_part % url.escape
+ when '${browser}'; $config['browser']
+ else
+ cmd_part
end
}
@@ -3833,7 +3842,7 @@ ENDUSAGE
# if it's not nil, then add it to our list
added = false
if url && url.length > 0
- if title: added = Engine::add_feed({ 'url' => url, 'title' => title })
+ if title; added = Engine::add_feed({ 'url' => url, 'title' => title })
else added = Engine::add_feed({ 'url' => url }); end
NcursesInterface::populate_feed_win
else
@@ -4112,13 +4121,13 @@ ENDUSAGE
old_key = key
key = key.gsub(/^KEY_/, '')
case key
- when 'DC': key = 'Delete'
- when ' ': key = 'Space'
- when 'NPAGE': key = 'Page Down'
- when 'PPAGE': key = 'Page Up'
- when ' ': key = 'Control-L'
- when ' ': key = 'Tab'
- when /^\d$/: key = '1-9'
+ when 'DC'; key = 'Delete'
+ when ' '; key = 'Space'
+ when 'NPAGE'; key = 'Page Down'
+ when 'PPAGE'; key = 'Page Up'
+ when ' '; key = 'Control-L'
+ when ' '; key = 'Tab'
+ when /^\d$/; key = '1-9'
end
unless key == old_key # remove cruft if key info updated
keys[key] = keys[old_key]
@@ -4251,9 +4260,9 @@ ENDUSAGE
$wins = []
$config['theme']['window_order'].each { |i|
case i
- when /feed/: cl = NcursesInterface::ListWindow
- when /item/: cl = NcursesInterface::ListWindow
- when /desc/: cl = NcursesInterface::TextWindow
+ when /feed/; cl = NcursesInterface::ListWindow
+ when /item/; cl = NcursesInterface::ListWindow
+ when /desc/; cl = NcursesInterface::TextWindow
else
raise "Unknown window #{i}"
end
@@ -4606,10 +4615,10 @@ ENDUSAGE
((cat =~ /\ball\b/i) ? ' selected="1"' : '') <<
">All</option>\n"
- $config['feeds'].categories.each { |cat|
- ret << " <option value='#{cat.title}'" <<
- ((cat =~ /\b#{cat.title}\b/i) ? ' selected="1"' : '') <<
- ">#{cat.title}</option>\n"
+ $config['feeds'].categories.each { |c|
+ ret << " <option value='#{c.title}'" <<
+ ((cat =~ /\b#{c.title}\b/i) ? ' selected="1"' : '') <<
+ ">#{c.title}</option>\n"
}
ret << "</select>\n"