predicsis_ml_sdk 0.1.2 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/initializer.rb +3 -3
- data/lib/predicsis_ml_sdk/credentials.rb +5 -1
- data/lib/predicsis_ml_sdk/data_file.rb +28 -0
- data/lib/predicsis_ml_sdk/requests.rb +13 -11
- data/lib/predicsis_ml_sdk/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c542b25c2db14e099b718f4e3395f56d78f9807c
|
4
|
+
data.tar.gz: a93043ef772dd0ca9890220cb596fb5dc1f7fbcc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3b3ef9330d2d65d47d812d1cf31b336b294576c1880fda060008c4d593f9fb001c2b600fa012b584ac6053ed3211297774d2a8958fd373b96da070ca370c2719
|
7
|
+
data.tar.gz: ade4dd944fa10280c2d5753f08a1f1d246ddc7f562585c0135ac75c43fad1101d0c451505873ef917403eefc0ae192c18efb435757c098906616051f0bd55bf5
|
data/lib/initializer.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
module Initializer
|
2
2
|
def self.autoload_paths
|
3
|
-
|
4
|
-
|
5
|
-
Dir[File.join(self.pwd, 'predicsis_ml_sdk', '*.rb')].each { |file|
|
3
|
+
require "#{self.pwd}/predicsis_ml_sdk/predicsis_error.rb"
|
4
|
+
require "#{self.pwd}/predicsis_ml_sdk/job_stuff.rb"
|
5
|
+
Dir[File.join(self.pwd, 'predicsis_ml_sdk', '**', '*.rb')].each { |file| require file }
|
6
6
|
end
|
7
7
|
|
8
8
|
private
|
@@ -9,11 +9,15 @@ module PredicsisMlSdk
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def get(type = 's3')
|
12
|
-
data = Requests.get_credentials(@token)
|
12
|
+
data = Requests.get_credentials(type, @token)
|
13
13
|
define_attributes(data)
|
14
14
|
self
|
15
15
|
rescue => e
|
16
16
|
raise e
|
17
17
|
end
|
18
|
+
|
19
|
+
def to_h
|
20
|
+
instance_variables.each_with_object({}) { |var, hash| hash[var.to_s.delete("@")] = instance_variable_get(var) unless var.to_s == '@token' }
|
21
|
+
end
|
18
22
|
end
|
19
23
|
end
|
@@ -1,7 +1,35 @@
|
|
1
1
|
module PredicsisMlSdk
|
2
2
|
class DataFile
|
3
|
+
attr_accessor :id
|
4
|
+
|
3
5
|
def self.upload(params = {})
|
6
|
+
params.delete('expires_at')
|
4
7
|
Requests.upload(params)
|
5
8
|
end
|
9
|
+
|
10
|
+
def self.get(id, token = nil)
|
11
|
+
DataFile.new(id, token).get
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.signed_url(id, token = nil)
|
15
|
+
DataFile.new(id, token).signed_url
|
16
|
+
end
|
17
|
+
|
18
|
+
def initialize(id = nil, token = nil)
|
19
|
+
@token = token
|
20
|
+
@id = id
|
21
|
+
end
|
22
|
+
|
23
|
+
def get
|
24
|
+
data = Requests.get_data_file(@token, @id)
|
25
|
+
define_attributes(data)
|
26
|
+
self
|
27
|
+
end
|
28
|
+
|
29
|
+
def signed_url
|
30
|
+
data = Requests.get_signed_url(@token, @id)
|
31
|
+
define_attributes(data)
|
32
|
+
self
|
33
|
+
end
|
6
34
|
end
|
7
35
|
end
|
@@ -6,7 +6,7 @@ module PredicsisMlSdk
|
|
6
6
|
class Requests
|
7
7
|
HTTParty::Basement.default_options.update(verify: false)
|
8
8
|
|
9
|
-
MODELS = %w(source dataset dictionary preparation_rules_set modalities_set report model)
|
9
|
+
MODELS = %w(source dataset dictionary preparation_rules_set modalities_set report model data_file)
|
10
10
|
|
11
11
|
class << self
|
12
12
|
%w(get post patch delete).each do |method|
|
@@ -49,22 +49,19 @@ module PredicsisMlSdk
|
|
49
49
|
delete("#{api_host}/settings/tokens/#{id}", nil, headers(token))
|
50
50
|
end
|
51
51
|
|
52
|
-
def get_credentials(token)
|
52
|
+
def get_credentials(type, token)
|
53
53
|
PredicsisMlSdk.logger.debug 'GET credentials'
|
54
|
-
get("#{api_host}/sources/credentials
|
54
|
+
get("#{api_host}/sources/credentials/#{type}", nil, headers(token))['credentials']
|
55
55
|
end
|
56
56
|
|
57
57
|
def upload(params = {})
|
58
|
-
filename = params.delete(
|
59
|
-
endpoint = params.delete(
|
60
|
-
aws_access_key_id = params.delete(:aws_access_key_id)
|
61
|
-
params.merge!(AwsAccessKeyId: aws_access_key_id, :'Content-Type' => 'multipart/form-data',
|
62
|
-
acl: 'private', success_action_status: '201', file: File.new(filename))
|
58
|
+
filename = params.delete('file')
|
59
|
+
endpoint = params.delete('signed_url')
|
63
60
|
PredicsisMlSdk.logger.debug "UPLOAD #{filename}"
|
64
|
-
response =
|
61
|
+
response = HTTParty.put(endpoint, body_stream: File.open(filename),
|
62
|
+
headers: { 'Content-Length' => File.size(filename).to_s })
|
65
63
|
if [200, 201, 204].include? response.code
|
66
|
-
|
67
|
-
Nokogiri::XML.parse(response).xpath('PostResponse/Key').map { |key| key.content }.first
|
64
|
+
params['key'] || params['object']
|
68
65
|
else
|
69
66
|
fail PredicsisError::RequestError.new(response['message'], JSON.parse(response.body))
|
70
67
|
end
|
@@ -96,6 +93,11 @@ module PredicsisMlSdk
|
|
96
93
|
params, headers(token))['variable']
|
97
94
|
end
|
98
95
|
|
96
|
+
def get_signed_url(token, id)
|
97
|
+
PredicsisMlSdk.logger.debug "GET data_files/#{id}/signed_url"
|
98
|
+
get("#{api_host}/data_files/#{id}/signed_url", nil, headers(token))['data_file']
|
99
|
+
end
|
100
|
+
|
99
101
|
MODELS.each do |model|
|
100
102
|
define_method("post_#{model}") do |token, params = {}|
|
101
103
|
PredicsisMlSdk.logger.debug "POST #{model.pluralize}"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: predicsis_ml_sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Armand
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-10-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|