bin/dropcaster in dropcaster-0.0.3 vs bin/dropcaster in dropcaster-0.0.4
- old
+ new
@@ -16,70 +16,70 @@
dropcaster Prints a podcast feed document for the mp3 files in the current directory.
dropcaster [FILE]... Prints a podcast feed document for FILES
dropcaster [DIR]... Prints a podcast feed document for the mp3 files in DIR
Options:
-
HELP
def usage
"Run '#{File.basename(__FILE__)} --help' for further help."
end
require 'optparse'
require 'dropcaster'
options = Hash.new
-options[:verbose] = false
options[:auto_detect_channel_file] = true
opts = OptionParser.new do |opts|
opts.banner = help
opts.on("--verbose", "Verbose mode - displays additional diagnostic information") do |file|
- options[:verbose] = true
+ Dropcaster.logger = Logger.new(STDERR)
+ Dropcaster.logger.formatter = Dropcaster::LogFormatter.new
+ Dropcaster.logger.level = Logger::INFO
end
opts.on("--channel FILE", "Read the channel definition from FILE instead of channel.yml in the current directory.") do |file|
begin
- STDERR.puts "Reading channel definition from #{file}" if options[:verbose]
+ Dropcaster.logger.info "Reading channel definition from #{file}"
options = YAML.load_file(file).merge(options)
options[:auto_detect_channel_file] = false
rescue
- STDERR.puts "Error loading channel definition: #{$!.message}"
- STDERR.puts $!.backtrace if options[:verbose]
+ Dropcaster.logger.error "Could not load channel definition. #{$!.message}"
+ Dropcaster.logger.info $!.backtrace
exit(1)
end
end
opts.on("--title STRING", "Use STRING as the channel's title. Overrides settings read from channel definition file.") do |title|
- STDERR.puts "Setting channel title to '#{title}' via command line" if options[:verbose]
+ Dropcaster.logger.info "Setting channel title to '#{title}' via command line"
options[:title] = title
end
opts.on("--url URL", "Use URL as the channel's url. Overrides settings read from channel definition file.") do |url|
- STDERR.puts "Setting channel URL to '#{url}' via command line" if options[:verbose]
+ Dropcaster.logger.info "Setting channel URL to '#{url}' via command line"
options[:url] = url
end
opts.on("--description STRING", "Use STRING as the channel's description. Overrides settings read from channel definition file.") do |description|
- STDERR.puts "Setting channel description to '#{description}' via command line" if options[:verbose]
+ Dropcaster.logger.info "Setting channel description to '#{description}' via command line"
options[:description] = description
end
opts.on("--enclosures URL", "Use URL as the base URL for the channel's enclosures. Overrides settings read from channel definition file.") do |enclosures_url|
- STDERR.puts "Setting enclosures base URL to '#{enclosures_url}' via command line" if options[:verbose]
+ Dropcaster.logger.info "Setting enclosures base URL to '#{enclosures_url}' via command line"
options[:enclosures_url] = enclosures_url
end
opts.on("--image URL", "Use URL as the channel's image URL. Overrides settings read from channel definition file.") do |image_url|
- STDERR.puts "Setting image URL to '#{image_url}' via command line" if options[:verbose]
+ Dropcaster.logger.info "Setting image URL to '#{image_url}' via command line"
options[:image_url] = image_url
end
opts.on("--channel-template FILE", "Use FILE as template for generating the channel feed. Overrides the default that comes with Dropcaster.") do |file|
- STDERR.puts "Using'#{file}' as channel template file" if options[:verbose]
+ Dropcaster.logger.info "Using'#{file}' as channel template file"
options[:channel_template] = file
end
opts.on("--version", "Display current version") do
puts "#{File.basename(__FILE__)} " + Dropcaster::VERSION
@@ -93,25 +93,25 @@
if options[:auto_detect_channel_file]
# There was no channel file specified, so we try to load channel.yml from sources dir
channel_file = Dropcaster::ChannelFileLocator.locate(sources)
if File.exists?(channel_file)
- STDERR.puts "Auto-detected channel file at #{channel_file}" if options[:verbose]
+ Dropcaster.logger.info "Auto-detected channel file at #{channel_file}"
options_from_yaml = YAML.load_file(channel_file)
options = options_from_yaml.merge(options)
else
- STDERR.puts "No #{channel_file} found."
- STDERR.puts usage
+ Dropcaster.logger.error "No channel file found at #{channel_file})"
+ Dropcaster.logger.info usage
exit(1) # No way to continue without a channel definition
end
end
-STDERR.puts "Generating the channel with these options: #{options.inspect}" if options[:verbose]
+Dropcaster.logger.info "Generating the channel with these options: #{options.inspect}"
begin
puts Dropcaster::Channel.new(sources, options).to_rss
rescue
- STDERR.puts $!.message
- STDERR.puts usage
- STDERR.puts $!.backtrace if options[:verbose]
+ Dropcaster.logger.error $!.message
+ Dropcaster.logger.debug $!.backtrace
+ Dropcaster.logger.info usage
exit(1)
end