From: Michael Orlitzky Date: Wed, 13 Jun 2012 02:02:40 +0000 (-0400) Subject: Use strings instead of symbols for the downloader type. X-Git-Url: http://gitweb.michael.orlitzky.com/?p=dead%2Fwhatever-dl.git;a=commitdiff_plain;h=1ea5d78f268bece1396c0bfd65ce34cf1638eb7e;hp=25d9a75fe096553aeea68ffe0ef79b7e5acc144d Use strings instead of symbols for the downloader type. --- diff --git a/bin/whatever-dl b/bin/whatever-dl index b9ea02c..b3ed1ca 100755 --- a/bin/whatever-dl +++ b/bin/whatever-dl @@ -59,8 +59,8 @@ opts.each do |opt, arg| end # Warn about nonsensical options. -if options[:continue] and not Configuration::DOWNLOAD_METHOD == :wget - log.warn('The --continue flag does nothing unless DOWNLOAD_METHOD is :wget.') +if options[:continue] and not cfg.download_method == 'wget' + log.warn("The --continue flag does nothing unless download_method is wget.") end # Note that GetoptLong steals its arguments from ARGV, so we don't need @@ -73,6 +73,9 @@ if (ARGV.length < 1) then Kernel.exit(ExitCodes::EXIT_NO_URL) end + +cfg = Configuration.new() + # Factory method. site = Website.create(ARGV[0]) @@ -92,7 +95,8 @@ end # The Downloader class is a factory; it should decide # which subclass we get. -downloader = Downloader.create(Configuration::DOWNLOAD_METHOD) +puts "download_method: #{cfg.download_method}" +downloader = Downloader.create(cfg.download_method) # Attempt to download the file, and rescue and report # any (predictable) exceptions. The wget downloader will diff --git a/lib/whatever-dl/configuration.rb b/lib/whatever-dl/configuration.rb index 595d21f..9cca34a 100644 --- a/lib/whatever-dl/configuration.rb +++ b/lib/whatever-dl/configuration.rb @@ -3,9 +3,9 @@ require 'yaml' class Configuration # Configurable Options # - # We support a couple of different download methods. The :openuri + # We support a couple of different download methods. The 'openuri' # method utilizes the ruby open-uri library, and provides its own - # progress bar with no external dependencies. The :wget method, on the + # progress bar with no external dependencies. The 'wget' method, on the # other hand, requires GNU Wget (http://www.gnu.org/software/wget/), # but will support auto-resume of partially-downloaded files for # example. diff --git a/lib/whatever-dl/downloader.rb b/lib/whatever-dl/downloader.rb index 85cc4e3..c62ebf9 100644 --- a/lib/whatever-dl/downloader.rb +++ b/lib/whatever-dl/downloader.rb @@ -21,9 +21,9 @@ class Downloader def self.create(download_method) # Return the subclass corresponding to download_method. case download_method - when :openuri + when 'openuri' return OpenUriDownloader.new() - when :wget + when 'wget' return WgetDownloader.new() end end diff --git a/lib/whatever-dl/website.rb b/lib/whatever-dl/website.rb index e9e65ca..1c87be6 100644 --- a/lib/whatever-dl/website.rb +++ b/lib/whatever-dl/website.rb @@ -82,7 +82,8 @@ class Website def initialize(url) @url = url - self.headers = { 'User-Agent' => Configuration::USER_AGENT } + cfg = Configuration.new() + self.headers = { 'User-Agent' => cfg.user_agent } end