miga-base 0.7.16.3 → 0.7.16.8
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/bin/miga +2 -1
- data/lib/miga/cli/action/get_db.rb +1 -1
- data/lib/miga/cli/action/run.rb +7 -1
- data/lib/miga/cli/opt_helper.rb +5 -4
- data/lib/miga/common.rb +10 -5
- data/lib/miga/version.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ede9e4d8b2ae673b55e0b28f9e78292c42791c4ad400a02ef2c9f60065c1fc26
|
4
|
+
data.tar.gz: ff42e5a4f220774b7863f528fd334fa73a1acca0afcbb1a7f5e32dedd15bd1c7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d02bc826d5dee9c84705d2f0fb30e1902cb5014385efe350fa2593347cd74f10007475cd3b5610a92fa9a93cf00378c508af7bcd36fb6ed3e60faad96b35eb49
|
7
|
+
data.tar.gz: c094b4bb67eddc15345cf53866b03154a85b39de09c10d8ba025a1c2411fb84c74d19f81f859b9004ecd6c9417a4ce9d3fd1cb07da24cb92de2164537faf8cb6
|
data/bin/miga
CHANGED
@@ -165,7 +165,7 @@ class MiGA::Cli::Action::GetDb < MiGA::Cli::Action
|
|
165
165
|
def check_target
|
166
166
|
return false if cli[:overwrite]
|
167
167
|
|
168
|
-
file = File.expand_path(cli[:database], cli[:local])
|
168
|
+
file = File.expand_path(cli[:database].to_s, cli[:local])
|
169
169
|
if Dir.exist? file
|
170
170
|
warn "The target directory already exists: #{file}"
|
171
171
|
true
|
data/lib/miga/cli/action/run.rb
CHANGED
@@ -8,7 +8,7 @@ class MiGA::Cli::Action::Run < MiGA::Cli::Action
|
|
8
8
|
def parse_cli
|
9
9
|
cli.defaults = { try_load: false, thr: 1, env: false }
|
10
10
|
cli.parse do |opt|
|
11
|
-
cli.opt_object(opt, [:project, :dataset_opt, :
|
11
|
+
cli.opt_object(opt, [:project, :dataset_opt, :result_opt])
|
12
12
|
opt.on(
|
13
13
|
'-t', '--threads INT', Integer,
|
14
14
|
"Threads to use in the local run (by default: #{cli[:thr]})"
|
@@ -37,12 +37,18 @@ class MiGA::Cli::Action::Run < MiGA::Cli::Action
|
|
37
37
|
cli[:thr] ||= ENV['CORES'].to_i unless ENV['CORES'].nil?
|
38
38
|
cli[:result] = File.basename(cli[:result].to_s, '.bash').to_sym
|
39
39
|
end
|
40
|
+
%i[project dataset result].each do |i|
|
41
|
+
cli[i] = nil if cli[i].nil? || cli[i].empty?
|
42
|
+
end
|
40
43
|
|
41
44
|
# Unset dataset if the requested result is for projects
|
42
45
|
if (MiGA::Project.RESULT_DIRS.keys + [:p]).include? cli[:result]
|
43
46
|
cli[:dataset] = nil
|
44
47
|
end
|
45
48
|
|
49
|
+
# Use virtual result if not explicitly passed
|
50
|
+
cli[:result] ||= cli[:dataset] ? :d : :p
|
51
|
+
|
46
52
|
# Load project
|
47
53
|
p = cli.load_project
|
48
54
|
|
data/lib/miga/cli/opt_helper.rb
CHANGED
@@ -56,10 +56,11 @@ module MiGA::Cli::OptHelper
|
|
56
56
|
# - :project_type To allow (optionally) a type of project
|
57
57
|
# - :project_type_req To require a type of project
|
58
58
|
# - :result To require a type of project or dataset result
|
59
|
+
# - :result_opt To allow (optionally) a type of result
|
59
60
|
# - :result_dataset To require a type of dataset result
|
60
61
|
# - :result_project To require a type of project result
|
61
|
-
# The options :result, :result_dataset, and :result_project
|
62
|
-
# exclusive
|
62
|
+
# The options :result, :result_opt, :result_dataset, and :result_project
|
63
|
+
# are mutually exclusive
|
63
64
|
def opt_object(opt, what = [:project, :dataset])
|
64
65
|
what.each do |w|
|
65
66
|
case w
|
@@ -82,10 +83,10 @@ module MiGA::Cli::OptHelper
|
|
82
83
|
"#{req}Type of #{obj}. Recognized types include:",
|
83
84
|
*klass.KNOWN_TYPES.map { |k, v| "~ #{k}: #{v[:description]}" }
|
84
85
|
) { |v| self[:type] = v.downcase.to_sym }
|
85
|
-
when :result
|
86
|
+
when :result, :result_opt
|
86
87
|
opt.on(
|
87
88
|
'-r', '--result STRING',
|
88
|
-
|
89
|
+
"#{"(Mandatory) " if w == :result}Name of the result",
|
89
90
|
'Recognized names for dataset-specific results include:',
|
90
91
|
*MiGA::Dataset.RESULT_DIRS.keys.map { |n| " ~ #{n}" },
|
91
92
|
'Recognized names for project-wide results include:',
|
data/lib/miga/common.rb
CHANGED
@@ -61,10 +61,14 @@ class MiGA::MiGA
|
|
61
61
|
end
|
62
62
|
|
63
63
|
# Estimate timing
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
64
|
+
adv_n = n - @_advance_time[:n]
|
65
|
+
unless total.nil? || @_advance_time[:last].nil? || adv_n <= 0
|
66
|
+
if adv_n.to_f/n > 0.001
|
67
|
+
this_time = Time.now - @_advance_time[:last]
|
68
|
+
this_avg = this_time / adv_n
|
69
|
+
@_advance_time[:avg] ||= this_avg
|
70
|
+
@_advance_time[:avg] = 0.9 * @_advance_time[:avg] + 0.1 * this_avg
|
71
|
+
end
|
68
72
|
end
|
69
73
|
@_advance_time[:last] = Time.now
|
70
74
|
@_advance_time[:n] = n
|
@@ -78,9 +82,10 @@ class MiGA::MiGA
|
|
78
82
|
if @_advance_time[:avg].nil?
|
79
83
|
''
|
80
84
|
else
|
81
|
-
left_time = @_advance_time[:avg] * (total - n) / 60
|
85
|
+
left_time = @_advance_time[:avg] * (total - n) / 60 # <- in minutes
|
82
86
|
left_time < 0.01 ? ' ' :
|
83
87
|
left_time < 1 ? ('%.0fs left' % (left_time * 60)) :
|
88
|
+
left_time > 1440 ? ('%.1fd left' % (left_time / 1440)) :
|
84
89
|
left_time > 60 ? ('%.1fh left' % (left_time / 60)) :
|
85
90
|
('%.1fm left' % left_time)
|
86
91
|
end
|
data/lib/miga/version.rb
CHANGED
@@ -8,7 +8,7 @@ module MiGA
|
|
8
8
|
# - Float representing the major.minor version.
|
9
9
|
# - Integer representing gem releases of the current version.
|
10
10
|
# - Integer representing minor changes that require new version number.
|
11
|
-
VERSION = [0.7, 16,
|
11
|
+
VERSION = [0.7, 16, 8]
|
12
12
|
|
13
13
|
##
|
14
14
|
# Nickname for the current major.minor version.
|
@@ -16,7 +16,7 @@ module MiGA
|
|
16
16
|
|
17
17
|
##
|
18
18
|
# Date of the current gem release.
|
19
|
-
VERSION_DATE = Date.new(2020,
|
19
|
+
VERSION_DATE = Date.new(2020, 11, 22)
|
20
20
|
|
21
21
|
##
|
22
22
|
# Reference of MiGA.
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: miga-base
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.16.
|
4
|
+
version: 0.7.16.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luis M. Rodriguez-R
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-11-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: daemons
|