advance 0.4.3 → 0.4.8
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 -15
- 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: 0dff13c708f480234a0e209cd4cedcfff790f180894447681a064e7973211412
|
4
|
+
data.tar.gz: c27f9f4a5f20c1748df540106286cdad9fc6581cef7d26426dec3275ed671b2f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c2f4b67acf76dc75dbcc93724bdb05f60738ce1a6b16779d7f2ffed6f3bfe1759c4fea05ff726af83be0f6bec77f1888ecfd6214758d3efece44f30fdbe9d4f6
|
7
|
+
data.tar.gz: aae16995c3cc409f4f51ad6bf53dae7cdfa4f834355f8debc87af806a87fbbf0548b58fae9c486da08de250c8c2e2047254a52ab6ccd98b89ecd9e4338ab0146
|
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.8)
|
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}"
|
@@ -235,10 +236,11 @@ 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
|
243
|
+
do_command_wo_log "rm #{file_path}" if !env_is?("ADVANCE_SAVE_HISTORY", true)
|
242
244
|
rescue
|
243
245
|
puts "%%%% error while processing >>#{file_path}<<"
|
244
246
|
raise
|
@@ -308,7 +310,7 @@ module Advance
|
|
308
310
|
end
|
309
311
|
|
310
312
|
def do_command(command, feedback = true)
|
311
|
-
puts "#{YELLOW}#{command}#{RESET} "
|
313
|
+
puts "#{YELLOW}#{command}#{RESET} " if feedback
|
312
314
|
start_time = Time.now
|
313
315
|
stdout, stderr, status = Open3.capture3(command)
|
314
316
|
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.8
|
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-30 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: []
|