cnvrg 1.6.33 → 1.6.35
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/cnvrg/cli.rb +2 -4
- data/lib/cnvrg/data.rb +4 -1
- data/lib/cnvrg/datafiles.rb +11 -0
- data/lib/cnvrg/files.rb +21 -0
- data/lib/cnvrg/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5f90f59c9a970e96f5ac718fa295cc2ce4f81ff143d8d9f8848b039a4ecdd004
|
|
4
|
+
data.tar.gz: 66beb8643ccbe900863b674b20f6138d69380cd0719deba77b15ce836c14d3dd
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 771c2fc62849c1d33363d49aa555ffd7408ef3f821dc3b3106c5c94004ab1076f4d96574b12af92b80f5a7fe8ca38270875cd06801edd26145d6c7eaef249266
|
|
7
|
+
data.tar.gz: 53fd6f5f3653ed67777022e9c50f9b042f2a4b35739e23a28ff4777c5480c62e227b62633cd7b34ff44bf19a8d1ed2268555194a5650f2c103578960f2d0bf5f
|
data/lib/cnvrg/cli.rb
CHANGED
|
@@ -1184,7 +1184,7 @@ module Cnvrg
|
|
|
1184
1184
|
end
|
|
1185
1185
|
|
|
1186
1186
|
desc '', '', :hide => true
|
|
1187
|
-
def data_put(dataset_url, files: [], dir: '', commit: '', chunk_size: 1000)
|
|
1187
|
+
def data_put(dataset_url, files: [], dir: '', commit: '', chunk_size: 1000, message: nil)
|
|
1188
1188
|
begin
|
|
1189
1189
|
verify_logged_in(false)
|
|
1190
1190
|
log_start(__method__, args, options)
|
|
@@ -1204,7 +1204,7 @@ module Cnvrg
|
|
|
1204
1204
|
log_message("Uploading #{@files.size} files", Thor::Shell::Color::GREEN)
|
|
1205
1205
|
number_of_chunks = (@files.size.to_f / chunk_size).ceil
|
|
1206
1206
|
if commit.blank?
|
|
1207
|
-
response = @datafiles.start_commit(false, true, chunks: number_of_chunks)
|
|
1207
|
+
response = @datafiles.start_commit(false, true, chunks: number_of_chunks, message: message )
|
|
1208
1208
|
unless response #means we failed in the start commit.
|
|
1209
1209
|
raise SignalException.new(1, "Cant put files into dataset, check the dataset id")
|
|
1210
1210
|
end
|
|
@@ -1837,8 +1837,6 @@ module Cnvrg
|
|
|
1837
1837
|
end
|
|
1838
1838
|
clone_resp = Project.clone_dir(slug, owner, project_name,git)
|
|
1839
1839
|
project_home = Dir.pwd + "/" + project_name
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
1840
|
end
|
|
1843
1841
|
|
|
1844
1842
|
if clone_resp
|
data/lib/cnvrg/data.rb
CHANGED
|
@@ -186,11 +186,14 @@ module Cnvrg
|
|
|
186
186
|
desc 'data put DATASET_URL FILES_PREFIX', 'Upload selected files from local dataset directory to remote server'
|
|
187
187
|
method_option :dir, :type => :string, :aliases => ["-d", "--dir"], :default => ''
|
|
188
188
|
method_option :commit, :type => :string, :aliases => ["-c", "--commit"], :default => ''
|
|
189
|
+
method_option :message, :type => :string, :aliases => ["--message"], :desc => "create commit with message", :default => nil
|
|
189
190
|
def put(dataset_url, *files)
|
|
190
191
|
cli = Cnvrg::CLI.new()
|
|
191
192
|
dir = options[:dir]
|
|
192
193
|
commit = options[:commit]
|
|
193
|
-
|
|
194
|
+
message = options[:message]
|
|
195
|
+
|
|
196
|
+
cli.data_put(dataset_url, files: files, dir: dir, commit: commit, message: message)
|
|
194
197
|
end
|
|
195
198
|
|
|
196
199
|
desc 'data clone_query --query=QUERY_SLUG DATASET_URL', 'Clone dataset with specific query'
|
data/lib/cnvrg/datafiles.rb
CHANGED
|
@@ -20,6 +20,15 @@ module Cnvrg
|
|
|
20
20
|
@dataset = dataset
|
|
21
21
|
@base_resource = "users/#{owner}/datasets/#{dataset_slug}/"
|
|
22
22
|
@downloader = @dataset.get_storage_client
|
|
23
|
+
@token_issue_time = Time.current
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def refresh_storage_token
|
|
27
|
+
current_time = Time.current
|
|
28
|
+
if current_time - @token_issue_time > 3.hours
|
|
29
|
+
@downloader = @dataset.get_storage_client
|
|
30
|
+
@token_issue_time = Time.current
|
|
31
|
+
end
|
|
23
32
|
end
|
|
24
33
|
|
|
25
34
|
def check_file_sha1(filename, org_sha1, tag: 'conflict')
|
|
@@ -117,6 +126,7 @@ module Cnvrg
|
|
|
117
126
|
def upload_multiple_files(commit_sha1, tree, threads: ParallelThreads, force: false, new_branch: false, prefix: '', partial_commit: nil, total: nil)
|
|
118
127
|
begin
|
|
119
128
|
Cnvrg::Logger.log_info("Sending Upload Files request")
|
|
129
|
+
refresh_storage_token
|
|
120
130
|
error = nil
|
|
121
131
|
upload_resp = nil
|
|
122
132
|
10.times do
|
|
@@ -1007,6 +1017,7 @@ module Cnvrg
|
|
|
1007
1017
|
|
|
1008
1018
|
def download_multiple_files_s3(files, project_home, conflict: false, progressbar: nil, read_only:false)
|
|
1009
1019
|
begin
|
|
1020
|
+
refresh_storage_token
|
|
1010
1021
|
parallel_options = {
|
|
1011
1022
|
in_threads: ParallelThreads,
|
|
1012
1023
|
isolation: true
|
data/lib/cnvrg/files.rb
CHANGED
|
@@ -27,8 +27,16 @@ module Cnvrg
|
|
|
27
27
|
@custom_progess = false
|
|
28
28
|
@cli = cli
|
|
29
29
|
@options = options
|
|
30
|
+
@token_issue_time = Time.current
|
|
30
31
|
end
|
|
31
32
|
|
|
33
|
+
def refresh_storage_token
|
|
34
|
+
current_time = Time.current
|
|
35
|
+
if current_time - @token_issue_time > 3.hours
|
|
36
|
+
@client = @project.get_storage_client
|
|
37
|
+
@token_issue_time = Time.current
|
|
38
|
+
end
|
|
39
|
+
end
|
|
32
40
|
|
|
33
41
|
def self.valid_file_name?(fullpath)
|
|
34
42
|
VALID_FILE_NAME.match(fullpath).blank?
|
|
@@ -97,7 +105,13 @@ module Cnvrg
|
|
|
97
105
|
files = res['files']
|
|
98
106
|
|
|
99
107
|
#upload files
|
|
108
|
+
token_mutex = Mutex.new
|
|
100
109
|
blob_ids = Parallel.map(files.keys, in_threads: ParallelThreads) do |file|
|
|
110
|
+
|
|
111
|
+
token_mutex.synchronize {
|
|
112
|
+
refresh_storage_token
|
|
113
|
+
}
|
|
114
|
+
|
|
101
115
|
begin
|
|
102
116
|
Cnvrg::Helpers.try_until_success{self.upload_single_file(files[file].merge(files_list[file]))}
|
|
103
117
|
rescue => e
|
|
@@ -721,8 +735,15 @@ module Cnvrg
|
|
|
721
735
|
in_threads: Cnvrg::Helpers.parallel_threads,
|
|
722
736
|
isolation: true
|
|
723
737
|
}
|
|
738
|
+
|
|
739
|
+
token_mutex = Mutex.new
|
|
740
|
+
|
|
724
741
|
Parallel.map(files["keys"], parallel_options) do |f|
|
|
725
742
|
|
|
743
|
+
token_mutex.synchronize {
|
|
744
|
+
refresh_storage_token
|
|
745
|
+
}
|
|
746
|
+
|
|
726
747
|
file_path = f["name"]
|
|
727
748
|
if file_path.end_with? "/"
|
|
728
749
|
# dir
|
data/lib/cnvrg/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cnvrg
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.6.
|
|
4
|
+
version: 1.6.35
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Yochay Ettun
|
|
@@ -10,7 +10,7 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date: 2020-
|
|
13
|
+
date: 2020-06-03 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: bundler
|
|
@@ -477,7 +477,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
477
477
|
- !ruby/object:Gem::Version
|
|
478
478
|
version: '0'
|
|
479
479
|
requirements: []
|
|
480
|
-
rubygems_version: 3.
|
|
480
|
+
rubygems_version: 3.1.2
|
|
481
481
|
signing_key:
|
|
482
482
|
specification_version: 4
|
|
483
483
|
summary: A CLI tool for interacting with cnvrg.io.
|