cnvrg 0.9.6 → 0.9.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d95dc585aed3d6033c8e685746d68f8dd14ba17a
4
- data.tar.gz: 7dee9ee650bc429aa2b2adbb21f31961c35e866f
3
+ metadata.gz: bf56dd631c9d7dc157c8f0fd13a3efaa57c172dc
4
+ data.tar.gz: 0df56325de293a1a26cd39210a29345f38e21b21
5
5
  SHA512:
6
- metadata.gz: 9224ca5e7961c2f4e279e0709d2e1d6f77ae74ac8951aebbce4e55a747821022378327ec482402de1c3a7b0e34febdbb1f686c56072996af0d3519e0b4c8676b
7
- data.tar.gz: 792907e29a0611097387d247f4f01f6a2eea0cf751f68a7fcc981474ec427f4ea6945228e87fd76a76347a121f902cdd068368f4b55dc6337876583f05e032e2
6
+ metadata.gz: b42ccdcd5d4775778c6009a4bd50acdf2ce730d25d62f0a8a28fc6900e34665877cb71fffcb306bc398a685a21f675c31da845cae4caaa8f01362e42bc347953
7
+ data.tar.gz: 6f3dc0c94c7fee54dd34aeb3e2e1affa618aff50e74dfb84a01fde238c7c43c1149a9edcf71c35def78501248a53e8eac96cc8f8a285ca0fd0f617e9a6f6f389
@@ -1730,10 +1730,6 @@ module Cnvrg
1730
1730
  clone_resp = Project.clone_dir(slug, owner, project_name,git)
1731
1731
 
1732
1732
  end
1733
-
1734
- # idx_status = Project.new(project_home).generate_idx
1735
- # log_message("Cloned project #{project_name} successfully", Thor::Shell::Color::GREEN)
1736
-
1737
1733
  else
1738
1734
  if (Dir.exists? project_name)
1739
1735
  # project_name = "#{project_name}_#{rand(1 .. 5000000000)}"
@@ -2420,40 +2416,13 @@ module Cnvrg
2420
2416
  log_start(__method__, args, options)
2421
2417
  project_home = get_project_home
2422
2418
  @project = Project.new(project_home)
2423
- @files = Cnvrg::Files.new(@project.owner, @project.slug)
2424
- res = @project.git_download_commit(commit_sha1)
2425
- files = res.try(:fetch, "result").try(:fetch, "files")
2426
- if files.blank?
2427
- log_message("No files to download", Thor::Shell::Color::RED)
2428
- return
2429
- end
2430
-
2431
- begin
2432
- if files["keys"].blank?
2433
- log_message("No New files to download", Thor::Shell::Color::GREEN)
2434
- return
2435
- end
2436
- progressbar = ProgressBar.create(:title => "Download Progress",
2437
- :progress_mark => '=',
2438
- :format => "%b>>%i| %p%% %t",
2439
- :starting_at => 0,
2440
- :total => files['keys'].size,
2441
- :autofinish => true)
2442
- download_result = @files.download_multpile_files_s3(files, project_home, progress: progressbar)
2443
- if download_result
2444
- progressbar.finish
2445
- log_message("Done.\nDownloaded finished successfully", Thor::Shell::Color::GREEN)
2446
- else
2447
- log_message("Error while trying to download\n", Thor::Shell::Color::RED)
2448
-
2449
- end
2450
-
2451
- rescue => e
2419
+ @files = Cnvrg::Files.new(@project.owner, @project.slug, project: @project, cli: self, options: options)
2420
+ commit_sha1 = commit_sha1.try(:first) if commit_sha1.is_a? Array
2421
+ @files.download_commit(commit_sha1)
2422
+ rescue => e
2452
2423
  log_error(e)
2453
2424
  log_message("Error while trying to download ", Thor::Shell::Color::RED)
2454
2425
  return
2455
- end
2456
-
2457
2426
  end
2458
2427
  end
2459
2428
 
@@ -12,11 +12,33 @@ module Cnvrg
12
12
 
13
13
  attr_reader :base_resource
14
14
 
15
- def initialize(owner, project_slug, project_home: '')
15
+ def initialize(owner, project_slug, project_home: '', project: nil, progressbar: nil, cli: nil, options: {})
16
16
  @project_slug = project_slug
17
17
  @owner = owner
18
18
  @base_resource = "users/#{owner}/projects/#{project_slug}/"
19
19
  @project_home = project_home.presence || Cnvrg::CLI.get_project_home
20
+ @project = project
21
+ @progressbar = progressbar
22
+ @custom_progess = false
23
+ @cli = cli
24
+ @options = options
25
+ end
26
+
27
+
28
+ def download_commit(sha1)
29
+ response = @project.clone(false, sha1)
30
+ log_error("Cant download commit #{sha1}") unless Cnvrg::CLI.is_response_success response, false
31
+ commit_sha1 = response["result"]["commit"]
32
+ files = response["result"]["tree"].keys
33
+ log_progress("Downloading #{files.size} Files")
34
+ idx = {commit: commit_sha1, tree: response["result"]["tree"]}
35
+ @progressbar ||= create_progressbar(files.size, "Clone Progress")
36
+ download_files(files, commit_sha1, progress: @progressbar)
37
+ @progressbar.finish if @custom_progess
38
+ Project.verify_cnvrgignore_exist(@project_slug, false)
39
+ @project.set_idx(idx)
40
+ log("Done")
41
+ log("Downloaded #{files.size} files")
20
42
  end
21
43
 
22
44
  def get_upload_options(number_of_items: 0, progress: false)
@@ -649,12 +671,14 @@ module Cnvrg
649
671
  end
650
672
 
651
673
  def create_progressbar(length = 10, title = 'Progress')
652
- ProgressBar.create(:title => title,
674
+ @progressbar = ProgressBar.create(:title => title,
653
675
  :progress_mark => '=',
654
676
  :format => "%b>>%i| %p%% %t",
655
677
  :starting_at => 0,
656
678
  :total => length,
657
679
  :autofinish => true)
680
+ @custom_progess = true
681
+ @progressbar
658
682
  end
659
683
 
660
684
  def download_files(files, commit, postfix: '', progress: nil)
@@ -954,5 +978,25 @@ module Cnvrg
954
978
  response = Cnvrg::API.request("#{base_resource}/commit/rollback", 'POST', {commit_sha1: commit_sha1})
955
979
  Cnvrg::CLI.is_response_success(response, false)
956
980
  end
981
+ private
982
+ def log(msgs, type: Thor::Shell::Color::GREEN)
983
+ return false if @cli.blank?
984
+ msgs = [msgs].flatten
985
+ msgs.each do |msg|
986
+ @cli.log_message(msg, type)
987
+ end
957
988
  end
989
+
990
+
991
+ def log_error(msgs)
992
+ @cli.log_error(msgs) if @cli.present?
993
+ log(msgs, type: Thor::Shell::Color::RED)
994
+ end
995
+
996
+ def log_progress(msgs)
997
+ log(msgs, type: Thor::Shell::Color::BLUE)
998
+ end
999
+ end
1000
+
1001
+
958
1002
  end
@@ -1,4 +1,4 @@
1
1
  module Cnvrg
2
- VERSION = '0.9.6'
2
+ VERSION = '0.9.7'
3
3
  end
4
4
 
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: 0.9.6
4
+ version: 0.9.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yochay Ettun
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-12-13 00:00:00.000000000 Z
12
+ date: 2018-12-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler