]> gitweb.michael.orlitzky.com - dead/whatever-dl.git/commitdiff
Use strings instead of symbols for the downloader type.
authorMichael Orlitzky <michael@orlitzky.com>
Wed, 13 Jun 2012 02:02:40 +0000 (22:02 -0400)
committerMichael Orlitzky <michael@orlitzky.com>
Wed, 13 Jun 2012 02:02:40 +0000 (22:02 -0400)
bin/whatever-dl
lib/whatever-dl/configuration.rb
lib/whatever-dl/downloader.rb
lib/whatever-dl/website.rb

index b9ea02ca79eeab9e4690db8b49792b40d78ac48d..b3ed1ca5dc52a541e1654fee97babc7b1bc55498 100755 (executable)
@@ -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
index 595d21fd5c2f4797171e2eea1d4880d24f9a76d9..9cca34a42b7c4bcb9178a3886cdfa569d0021426 100644 (file)
@@ -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.
index 85cc4e32a9a9fcea87dc7f8b0be6534179feb9a9..c62ebf9361a63505fd886322dca8f0633f6cedf5 100644 (file)
@@ -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
index e9e65ca1909f7add3c8b2c6ecc800a3856145528..1c87be6bc8cd431b596623761e1c64590d2f4b4d 100644 (file)
@@ -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