bin/dropcaster in dropcaster-0.0.4 vs bin/dropcaster in dropcaster-0.0.5.rc1
- old
+ new
@@ -1,117 +1,129 @@
-#!/usr/bin/env ruby
-
-$:.unshift File.join(File.dirname(__FILE__), *%w[.. lib])
-
-require 'rubygems'
-require 'yaml'
-
-help = <<HELP
-Dropcaster is a podcast feed generator for the command line.
-
-Author: Nicolas E. Rabenau nerab@gmx.at
-Homepage: http://nerab.github.com/dropcaster/
-
-Basic Usage:
-
- 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[:auto_detect_channel_file] = true
-
-opts = OptionParser.new do |opts|
- opts.banner = help
-
- opts.on("--verbose", "Verbose mode - displays additional diagnostic information") do |file|
- 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
- Dropcaster.logger.info "Reading channel definition from #{file}"
- options = YAML.load_file(file).merge(options)
- options[:auto_detect_channel_file] = false
- rescue
- 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|
- 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|
- 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|
- 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|
- 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|
- 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|
- 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
- exit 0
- end
-end
-
-opts.parse!
-sources = ARGV.blank? ? '.' : ARGV
-
-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)
- 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
- 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
-
-Dropcaster.logger.info "Generating the channel with these options: #{options.inspect}"
-
-begin
- puts Dropcaster::Channel.new(sources, options).to_rss
-rescue
- Dropcaster.logger.error $!.message
- Dropcaster.logger.debug $!.backtrace
- Dropcaster.logger.info usage
- exit(1)
-end
+#!/usr/bin/env ruby
+
+$:.unshift File.join(File.dirname(__FILE__), *%w[.. lib])
+
+require 'yaml'
+
+help = <<HELP
+Dropcaster is a podcast feed generator for the command line.
+
+Author: Nicolas E. Rabenau nerab@gmx.at
+Homepage: http://rubydoc.info/gems/dropcaster/file/README.md
+
+Basic Usage:
+
+ 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[:auto_detect_channel_file] = true
+
+opts = OptionParser.new do |opts|
+ opts.banner = help
+
+ opts.on("--verbose", "Verbose mode - displays additional diagnostic information") do |file|
+ Dropcaster.logger = Logger.new(STDERR)
+ Dropcaster.logger.formatter = Dropcaster::LogFormatter.new
+ Dropcaster.logger.level = Logger::INFO
+ end
+
+ opts.on("--trace", "Verbose mode - displays additional diagnostic information") do |file|
+ Dropcaster.logger = Logger.new(STDERR)
+ Dropcaster.logger.formatter = Dropcaster::LogFormatter.new
+ Dropcaster.logger.level = Logger::DEBUG
+ end
+
+ opts.on("--channel FILE", "Read the channel definition from FILE instead of channel.yml in the current directory.") do |file|
+ begin
+ Dropcaster.logger.info "Reading channel definition from #{file}"
+ options = YAML.load_file(file).merge(options)
+ options[:auto_detect_channel_file] = false
+ rescue
+ 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|
+ Dropcaster.logger.info "Setting channel title to '#{title}' via command line"
+ options[:title] = title
+ end
+
+ opts.on("--subtitle STRING", "Use STRING as the channel's subtitle. Overrides settings read from channel definition file.") do |subtitle|
+ Dropcaster.logger.info "Setting channel subtitle to '#{subtitle}' via command line"
+ options[:subtitle] = subtitle
+ end
+
+ opts.on("--url URL", "Use URL as the channel's url. Overrides settings read from channel definition file.") do |url|
+ 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|
+ 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|
+ 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|
+ 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|
+ 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
+ exit 0
+ end
+end
+
+opts.parse!
+sources = ARGV.blank? ? '.' : ARGV
+
+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)
+ 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
+ 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
+
+Dropcaster.logger.info "Generating the channel with these options: #{options.inspect}"
+
+begin
+ puts Dropcaster::Channel.new(sources, options).to_rss
+rescue
+ Dropcaster.logger.error $!.message
+ $!.backtrace.each do |line|
+ Dropcaster.logger.debug(line)
+ end
+ Dropcaster.logger.info usage
+ exit(1)
+end