def Engine::load_config
Engine::expand_config
opts = Raggle::CLI::parse_cli_options ARGV
Dir::mkdir $config['config_dir'] unless test ?d , $config['config_dir']
default_config = $config
puts $config['msg_load_config'] if opts['mode'] == 'view'
load $config['config_path'], false if test ?e, $config['config_path']
user_config = $config
$config = default_config
$config.update user_config
Engine::expand_config
puts $config['msg_load_list'] if opts['mode'] == 'view'
if $config['load_feed_list'] && test(?e, $config['feed_list_path'])
feeds_str = File.read($config['feed_list_path'])
if feeds_str.size > 0
if feeds_str =~ /^--- !ruby\/object:/
feeds_str = feeds_str.select { |line|
line !~ /^(feeds:|--- !ruby\/object:)/
}.map { |line| line.gsub(/^ /, '') }.join
end
$config['feeds'] ||= Raggle::Feed::List.new
$config['feeds'].feeds = YAML::load(feeds_str)
end
end
if $config['feeds'] && $config['feeds'].size == 0
$config['default_feeds'].each do |feed|
$config['feeds'].add(feed['title'], feed['url'], feed['refresh'],
feed['lock_title?'], feed['save_items?'],
feed['site'], feed['desc'], feed['items'],
feed['image'], feed['category'], false,
feed['priority'])
end
end
opts
end