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
|