Sha256: e444beba848234b34866cb2d229894d894d364ad1ea7377fd7be7d6f7189a516
Contents?: true
Size: 1.55 KB
Versions: 3
Compression:
Stored size: 1.55 KB
Contents
require "thor" require 'active_support/all' require_relative 'api' require_relative 'utils' require_relative 'file_utils' require_relative 'base' module Cirneco class Media < Thor include Cirneco::Base include Cirneco::Api include Cirneco::Utils include Cirneco::FileUtils desc "get DOI", "get media for DOI" method_option :username, :default => ENV['MDS_USERNAME'] method_option :password, :default => ENV['MDS_PASSWORD'] method_option :sandbox, :type => :boolean, :force => false def get(doi) response = get_media(doi, options.merge(raw: true)) if response.body["errors"] puts "Error: " + response.body["errors"].first.fetch("title", "An error occured") else filename = doi.split("/", 2).last + ".txt" content = response.body["data"] IO.write(filename, content) puts "Media for #{doi} saved as #{filename}" end end desc "post DOI", "post media for DOI" method_option :username, :default => ENV['MDS_USERNAME'] method_option :password, :default => ENV['MDS_PASSWORD'] method_option :sandbox, :type => :boolean, :force => false method_option :file, :aliases => '-f' def post(doi) filename = options[:file] || doi.split("/", 2).last + ".txt" data = IO.read(filename) response = post_media(doi, data, options.merge(raw: true)) if response.body["errors"] puts "Error: " + response.body["errors"].first.fetch("title", "An error occured") else puts response.body["data"] end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
cirneco-0.9.16 | lib/cirneco/media.rb |
cirneco-0.9.15 | lib/cirneco/media.rb |
cirneco-0.9.14 | lib/cirneco/media.rb |