module Scrapers::Download

Public Class Methods

download(url,dir=".",overwrite=false) click to toggle source
# File lib/scrapers/download.rb, line 18
def self.download(url,dir=".",overwrite=false)
  # need a new agent each time!
  agent = Mechanize.new
  agent.pluggable_parser.default = Mechanize::Download
  @dir = validate_directory(dir)
  dl = agent.get(url)
  Dir.chdir(@dir) do |dir|
    if overwrite
      dl.save!(dl.filename)
    else
      dl.save()
    end
    
  end
  File.join(@dir,dl.filename)
end
validate_directory(d) click to toggle source
# File lib/scrapers/download.rb, line 35
def self.validate_directory(d)
  raise "#{d} is not a writable directory!" unless File.directory?(d) and File.writable?(d)
  d
end