Created
June 3, 2015 18:44
-
-
Save jenningsanderson/d51a3a4514b4e90d908b to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'json' | |
require 'open-uri' | |
require 'fileutils' | |
class RevisionGetter | |
attr_reader :write_directory, :revisions | |
def initialize(args) | |
@write_directory = args[:write_dir] || "google_drive_download" | |
@revisions = args[:revisions] | |
FileUtils.mkdir_p write_directory | |
end | |
def get_revisions | |
revisions.each do |item| | |
begin | |
user = item["lastModifyingUserName"] | |
date = item["modifiedDate"][0...-5] | |
# url = item["exportLinks"]["text/csv"] | |
url = item["exportLinks"]["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"] | |
puts "Writing file: #{date+"-"+user}.xlsx" | |
download_and_save(url, date+"-"+user) | |
rescue | |
puts "error occured, continuing..." | |
end | |
end | |
end | |
def download_and_save(file_url, file_out) | |
open(write_directory+'/'+file_out+".xlsx", 'wb') do |file| | |
file << open(file_url).read | |
end | |
end | |
end | |
test_response = JSON.load(File.read('test.json')) | |
revGetter = RevisionGetter.new(write_dir: "langtang_spreadsheets", revisions: test_response['items']) | |
revGetter.get_revisions |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment