advance 0.4.2 → 0.4.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/Gemfile.lock +4 -4
- data/advance.gemspec +1 -1
- data/bin/split_csv.rb +6 -4
- data/lib/advance.rb +17 -16
- data/lib/advance/version.rb +1 -1
- metadata +8 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 375512e62a9c6d6004938ed1e6324e87a0370c6b9b41514a65fc97de879aa413
|
4
|
+
data.tar.gz: 30877f6ade5427ea453394cbc31c8526199754e7ba0af2bbb24f9b3288cf86fd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6a392c9abcca6b356f2429bd6288e9f2a2335d1d85b933f4db848911a8a595541090363585a30486619c031400a4df763189aeea5c65867c2a027ae960a6e02d
|
7
|
+
data.tar.gz: fa285b94002bf9741fa3e610f676581908953968b4a5e2cb1c5f74476ca84f5e763a992c9a2f8e9d5e95e33d0f612a9b2ac70cd8abb5ffbd82b5fa62b6209358
|
data/.gitignore
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
advance (0.4.
|
4
|
+
advance (0.4.7)
|
5
5
|
team_effort
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: https://rubygems.org/
|
9
9
|
specs:
|
10
10
|
minitest (5.10.1)
|
11
|
-
rake (
|
12
|
-
team_effort (1.
|
11
|
+
rake (13.0.1)
|
12
|
+
team_effort (1.1.1)
|
13
13
|
|
14
14
|
PLATFORMS
|
15
15
|
ruby
|
@@ -18,7 +18,7 @@ DEPENDENCIES
|
|
18
18
|
advance!
|
19
19
|
bundler (~> 1.16)
|
20
20
|
minitest (~> 5.0)
|
21
|
-
rake (~>
|
21
|
+
rake (~> 13.0)
|
22
22
|
|
23
23
|
BUNDLED WITH
|
24
24
|
1.17.3
|
data/advance.gemspec
CHANGED
@@ -30,6 +30,6 @@ step become the input to the next step.
|
|
30
30
|
|
31
31
|
spec.add_runtime_dependency "team_effort"
|
32
32
|
spec.add_development_dependency "bundler", "~> 1.16"
|
33
|
-
spec.add_development_dependency "rake", "~>
|
33
|
+
spec.add_development_dependency "rake", "~> 13.0"
|
34
34
|
spec.add_development_dependency "minitest", "~> 5.0"
|
35
35
|
end
|
data/bin/split_csv.rb
CHANGED
@@ -9,13 +9,15 @@ end
|
|
9
9
|
csv_file = ARGV[0]
|
10
10
|
lines = ARGV[1]
|
11
11
|
csv_file_name = File.basename(csv_file)
|
12
|
-
|
12
|
+
header_file_name = "#{csv_file_name}_header"
|
13
|
+
system "head -n 1 #{csv_file} > #{header_file_name}"
|
13
14
|
system "tail -n +2 #{csv_file} | split -l #{lines} -a 3 - #{csv_file_name}_"
|
14
|
-
files = Dir.entries(".").reject { |f| f =~ %r{^(\.\.?|log)$} }
|
15
|
+
files = Dir.entries(".").reject { |f| f.end_with?(header_file_name) || f =~ %r{^(\.\.?|log)$} }
|
15
16
|
TeamEffort.work(files, 1) do |file|
|
16
17
|
tmp_file = "tmp_#{file}"
|
17
|
-
do_cmd "cat #{
|
18
|
+
do_cmd "cat #{header_file_name} #{file} >> #{tmp_file}"
|
18
19
|
do_cmd "mv #{tmp_file} #{file}"
|
19
20
|
end
|
20
|
-
do_cmd "rm #{
|
21
|
+
do_cmd "rm #{header_file_name}"
|
22
|
+
do_cmd "rename 's/^(.*)\.csv_(.*)$/$1_$2.csv/' *csv*"
|
21
23
|
puts ""
|
data/lib/advance.rb
CHANGED
@@ -21,6 +21,18 @@ module Advance
|
|
21
21
|
WHITE="\e[1;37m"
|
22
22
|
YELLOW="\e[33m"
|
23
23
|
|
24
|
+
def env_is?(env_var_name, default)
|
25
|
+
case ENV[env_var_name]
|
26
|
+
when "true"; true
|
27
|
+
when "false"; false
|
28
|
+
when nil; default
|
29
|
+
else
|
30
|
+
puts "env variable #{env_var_name} should be 'true', 'false', or not present (defaults to '#{default}')"
|
31
|
+
puts "currently set to >#{ENV[env_var_name]}<"
|
32
|
+
false
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
24
36
|
def self.included(pipeline_module)
|
25
37
|
$pipeline = caller_locations.first.path
|
26
38
|
meta =
|
@@ -33,17 +45,6 @@ module Advance
|
|
33
45
|
$run_number = last_run_number + 1
|
34
46
|
$cores=`nproc`.to_i
|
35
47
|
puts "Multi steps will use #{$cores} cores"
|
36
|
-
|
37
|
-
$verbose_logging = case ENV["ADVANCE_VERBOSE_LOGGING"]
|
38
|
-
when "true"; true
|
39
|
-
when "false"; false
|
40
|
-
when nil
|
41
|
-
puts "For detailed logging of multi steps, rerun after 'export ADVANCE_VERBOSE_LOGGING=true'"
|
42
|
-
false
|
43
|
-
else
|
44
|
-
puts "env variable ADVANCE_VERBOSE_LOGGING should be 'true', 'false', or not present (defaults to 'false')"
|
45
|
-
puts "currently set to >#{ENV["ADVANCE_VERBOSE_LOGGING"]}<"
|
46
|
-
end
|
47
48
|
end
|
48
49
|
|
49
50
|
def update_meta(step_number, processing_mode, label, command, start_time, duration, file_count)
|
@@ -132,7 +133,7 @@ module Advance
|
|
132
133
|
end
|
133
134
|
previous_dir_path = previous_dir_path.gsub(/\.tgz$/, "")
|
134
135
|
if File.basename(previous_dir_path) =~ /^step_/
|
135
|
-
if !File.exist?("#{previous_dir_path}.tgz")
|
136
|
+
if env_is?("ADVANCE_SAVE_HISTORY", true) && !File.exist?("#{previous_dir_path}.tgz")
|
136
137
|
do_command_wo_log "tar czf #{previous_dir_path}.tgz #{File.basename(previous_dir_path)}"
|
137
138
|
end
|
138
139
|
do_command_wo_log "rm -rf #{previous_dir_path}"
|
@@ -219,7 +220,7 @@ module Advance
|
|
219
220
|
|
220
221
|
last_progress = ""
|
221
222
|
progress_proc = ->(index, max_index) do
|
222
|
-
latest_progress = sprintf("%3i
|
223
|
+
latest_progress = sprintf("%3i%%", index.to_f / max_index * 100)
|
223
224
|
puts latest_progress if last_progress != latest_progress
|
224
225
|
last_progress = latest_progress
|
225
226
|
end
|
@@ -235,9 +236,9 @@ module Advance
|
|
235
236
|
command.gsub!("{input_file}", file_path)
|
236
237
|
command.gsub!("{file_name}", basename)
|
237
238
|
command.gsub!("{file_name_without_extension}", root_file_name)
|
238
|
-
puts "#{YELLOW}#{command}#{RESET} " if
|
239
|
+
puts "#{YELLOW}#{command}#{RESET} " if env_is?("ADVANCE_VERBOSE_LOGGING", false)
|
239
240
|
work_in_sub_dir(new_dir_name) do
|
240
|
-
do_command command,
|
241
|
+
do_command command, env_is?("ADVANCE_VERBOSE_LOGGING", false)
|
241
242
|
end
|
242
243
|
rescue
|
243
244
|
puts "%%%% error while processing >>#{file_path}<<"
|
@@ -308,7 +309,7 @@ module Advance
|
|
308
309
|
end
|
309
310
|
|
310
311
|
def do_command(command, feedback = true)
|
311
|
-
puts "#{YELLOW}#{command}#{RESET} "
|
312
|
+
puts "#{YELLOW}#{command}#{RESET} " if feedback
|
312
313
|
start_time = Time.now
|
313
314
|
stdout, stderr, status = Open3.capture3(command)
|
314
315
|
elapsed_time = Time.now - start_time
|
data/lib/advance/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: advance
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- janemacfarlane
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-06-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: team_effort
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '13.0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '13.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: minitest
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -106,7 +106,7 @@ homepage: https://github.com/doctorjane/advance
|
|
106
106
|
licenses:
|
107
107
|
- MIT
|
108
108
|
metadata: {}
|
109
|
-
post_install_message:
|
109
|
+
post_install_message:
|
110
110
|
rdoc_options: []
|
111
111
|
require_paths:
|
112
112
|
- lib
|
@@ -121,9 +121,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
121
121
|
- !ruby/object:Gem::Version
|
122
122
|
version: '0'
|
123
123
|
requirements: []
|
124
|
-
|
125
|
-
|
126
|
-
signing_key:
|
124
|
+
rubygems_version: 3.0.6
|
125
|
+
signing_key:
|
127
126
|
specification_version: 4
|
128
127
|
summary: A framework for building data transformation pipelines
|
129
128
|
test_files: []
|