def edit(id, opts)
die "Invalid feed id: #{id}" unless id < @feeds.size
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)
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
feed['lock_title?'] = true if opts.has_key?('title') and opts['title'] != otitle
end
else
feed = $config['feeds'].get(id)
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
feed['lock_title?'] = true if opts.has_key?('title') and opts['title'] != otitle
end
end