Class: CSRDataInventory

Inherits:
Object
  • Object
show all
Defined in:
lib/csr_data_inventory.rb

Class Method Summary collapse

Class Method Details

.downloadObject



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/csr_data_inventory.rb', line 3

def self.download
  puts "Please enter your token:"
  token = gets.strip
  download_url = "https://datascience.uth.edu/databases/download_file_list?"
  params_part = URI.encode_www_form([["token",token]])
  download_url = download_url + params_part
  download_folder = download_folder = ::File.join(Dir.pwd, "#{token}_file_list.txt")
  download_request = DownloadRequest.new(download_url, download_folder)
  download_request.get
  if download_request.error.to_s == ""
  	puts "  File list downloaded"
  	File.readlines("#{Dir.pwd}/#{token}_file_list.txt").each do |line|
  		path_tokens = line.strip.split

  		path = path_tokens[0]
  		file_size = path_tokens[1]
  		 
  		puts "Downloading file: #{path}"
  		download_url = "https://datascience.uth.edu/databases/download_file?"
    params_part = URI.encode_www_form([["token",token], ["path", path]])
    download_url = download_url + params_part
    download_folder = ::File.join(Dir.pwd, path[14..-1])
    if File.exists?(download_folder) and (File.size(download_folder).to_s == file_size)
    	puts "File exists"
    	next
    end
    download_request = DownloadRequest.new(download_url, download_folder)
    download_request.get
     if download_request.error.to_s == ""
     	puts "Successful"
     else
     	puts "Failed: #{download_request.error.to_s}"
     end
  	end
  else
  	puts "  #{download_request.error.to_s}"
  end
end