X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/9fea1c7774bd256788ee76385c0eab05d4508796..fc69579b197cb963209111620f0a908c7811e1db:/sdk/cli/bin/arv diff --git a/sdk/cli/bin/arv b/sdk/cli/bin/arv index 8aebc5f8bc..36ec037bd8 100755 --- a/sdk/cli/bin/arv +++ b/sdk/cli/bin/arv @@ -15,7 +15,7 @@ end begin require 'curb' require 'rubygems' - require 'google/api_client' + require 'arvados/google_api_client' require 'json' require 'pp' require 'trollop' @@ -52,36 +52,6 @@ module Kernel end end -class Google::APIClient - def discovery_document(api, version) - api = api.to_s - discovery_uri = self.discovery_uri(api, version) - discovery_uri_hash = Digest::MD5.hexdigest(discovery_uri) - return @discovery_documents[discovery_uri_hash] ||= - begin - # fetch new API discovery doc if stale - cached_doc = File.expand_path "~/.cache/arvados/discovery-#{discovery_uri_hash}.json" rescue nil - - if cached_doc.nil? or not File.exist?(cached_doc) or (Time.now - File.mtime(cached_doc)) > 86400 - response = self.execute!(:http_method => :get, - :uri => discovery_uri, - :authenticated => false) - - begin - FileUtils.makedirs(File.dirname cached_doc) - File.open(cached_doc, 'w') do |f| - f.puts response.body - end - rescue - return JSON.load response.body - end - end - - File.open(cached_doc) { |f| JSON.load f } - end - end -end - class ArvadosClient < Google::APIClient def execute(*args) if args.last.is_a? Hash @@ -263,9 +233,7 @@ end def check_response result begin results = JSON.parse result.body - rescue JSON::ParserError => e - raise "Failed to parse server response:\n" + e.to_s - rescue Oj::ParseError => e + rescue JSON::ParserError, Oj::ParseError => e raise "Failed to parse server response:\n" + e.to_s end