class Gsrd::Download
Public Class Methods
new(token)
click to toggle source
# File lib/gsrd.rb, line 25 def initialize(token) @token = token end
Public Instance Methods
go()
click to toggle source
# File lib/gsrd.rb, line 29 def go() @time = Time.new @month = @time.month.to_s.rjust(2, "0") @day = @time.day.to_s.rjust(2, "0") @directory_name = Dir.pwd + "/gsrd-downloads-#{@time.year}-#{@month}-#{@day}" Dir.mkdir(@directory_name) unless File.exists?(@directory_name) @pagination = 1 @count = 0 loop do response = HTTParty.get($repos_uri + @token + $page + "#{@pagination}") for repo in response.parsed_response @uri = repo["html_url"] @download_uri = @uri + $archive + repo["default_branch"] + $extension @file_name = repo["owner"]["login"] + "-" + repo["name"] + "-" + repo["default_branch"] + $extension puts "\n\n======= DOWNLOADING " + repo["name"] + " ======= " puts "URL: " + @uri puts "Download URL: " + @download_uri puts "started: " + Time.now.strftime("%d/%m/%Y %H:%M:%S") @wget = "wget -O " + @directory_name + "/" + @file_name + " " + @download_uri + " -q --show-progress" `#{@wget}` puts "finished: " + Time.now.strftime("%d/%m/%Y %H:%M:%S") @count += 1 end @pagination += 1 break if response.parsed_response.count == 0 end puts "\n\n======= #{@count} repos were downloaded to gsrd-downloads directory =======\n\n" end