Sha256: 47b97c025f015a0a2c725092c82f41e05265c3d0f05543227832e06040e4ded5
Contents?: true
Size: 1.19 KB
Versions: 2
Compression:
Stored size: 1.19 KB
Contents
module Downer class WriteFailed < StandardError; end class BadUrl < StandardError; end class MalformedManifest < StandardError; end class NoManifestFileGiven < StandardError; end class NoTargetDirectoryGiven < StandardError; end class URLSourceDoesNotExist < StandardError; end class DownloadManager attr_accessor :file_manifest, :target_directory, :output attr_reader :urls def initialize(url_source, target_directory, output) @file_manifest, @target_directory, @output = url_source, target_directory, output dir_last_char_is_slash = (@target_directory[-1,1] == '/') @target_directory = @target_directory + '/' unless dir_last_char_is_slash @urls = [] raise URLSourceDoesNotExist unless File.exists?(@file_manifest) get_urls end def start raise WriteFailed unless File.writable?(@target_directory) @output.puts "Starting download on #{@urls.size} files" worker = DownloadWorker.new(@urls, @target_directory, @output) worker.start end protected def get_urls f = File.open(@file_manifest, 'r') f.each_line { |line| @urls << line.chomp } end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
downer-0.2.2 | lib/downer/download_manager.rb |
downer-0.1.1 | lib/downer/download_manager.rb |