predicsis_ml_sdk 0.1.2 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|