class Pedophile::Wget

Constants

COOKIES_FILE_PATH
TMP_ABSOLUTE_PATH
TMP_FILE_PATH
TMP_OFFLINE_PATH
TMP_PATH
TMP_SITE_DIRECTORY
WGET_MIRROR_PARAMS
WGET_PARAMS
WGET_RESTRICT_FILE_NAMES
http://www.gnu.org/software/wget/manual/html_node/Download-Options.html

WGET_RESTRICT_FILE_NAMES = “windows” # windows, ascii, unix

Attributes

downloader[R]

Public Class Methods

new(downloader) click to toggle source
# File lib/pedophile/wget.rb, line 19
def initialize(downloader)
  @downloader = downloader
  prepare_tmp_path
end

Public Instance Methods

clear!() click to toggle source
# File lib/pedophile/wget.rb, line 46
def clear!
  FileUtils.rm_rf(TMP_ABSOLUTE_PATH)
  prepare_tmp_path
end
download(url) click to toggle source
# File lib/pedophile/wget.rb, line 31
def download(url)
  `wget #{WGET_PARAMS} #{url} -O#{TMP_FILE_PATH}`
  File.open(TMP_FILE_PATH).read
end
mirror() click to toggle source
# File lib/pedophile/wget.rb, line 42
def mirror
  `cd #{TMP_OFFLINE_PATH}; wget #{WGET_PARAMS} #{WGET_MIRROR_PARAMS} #{self.downloader.url}`
end
offline_path() click to toggle source
# File lib/pedophile/wget.rb, line 55
def offline_path
  File.join(TMP_OFFLINE_PATH, site_last_path)
end
post(url, params) click to toggle source
# File lib/pedophile/wget.rb, line 36
def post(url, params)
  post_data = params.to_query
  `wget #{WGET_PARAMS} #{url} --post-data '#{post_data}' -O#{TMP_FILE_PATH}`
  File.open(TMP_FILE_PATH).read
end
prepare_tmp_path() click to toggle source
# File lib/pedophile/wget.rb, line 26
def prepare_tmp_path
  Dir.mkdir(TMP_PATH) unless File.exists?(TMP_PATH)
  Dir.mkdir(TMP_OFFLINE_PATH) unless File.exists?(TMP_OFFLINE_PATH)
end
site_last_path() click to toggle source
# File lib/pedophile/wget.rb, line 51
def site_last_path
  (Dir.entries(Wget::TMP_OFFLINE_PATH) - ["..", "."]).first
end