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