advance 0.4.2 → 0.4.7

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6f5e8405ec63f8137e9bd384d8548e381a04140e69144ce86ce7a48221e0e03b
4
- data.tar.gz: 3d31957d005b36f42d3174fc5bf402e3797c54587c06a3db51c7d7af03ecd864
3
+ metadata.gz: 375512e62a9c6d6004938ed1e6324e87a0370c6b9b41514a65fc97de879aa413
4
+ data.tar.gz: 30877f6ade5427ea453394cbc31c8526199754e7ba0af2bbb24f9b3288cf86fd
5
5
  SHA512:
6
- metadata.gz: 355d0dd1fb1b76f218034cdbcf8de445cf6e84ec20e5dd57c22fc9ff05efc4bd70ab1ebf4d902e482a062b0b30a40fd8782303f4d38e18db04c5f011cd43c444
7
- data.tar.gz: 51542a803ce7b3830a9d3f25775cb9805c7ea6ceee39c5ccd886715db6641f72ccf77e2f529589f3cbea419771b37b6893f25d430df600c93264363917d5da6d
6
+ metadata.gz: 6a392c9abcca6b356f2429bd6288e9f2a2335d1d85b933f4db848911a8a595541090363585a30486619c031400a4df763189aeea5c65867c2a027ae960a6e02d
7
+ data.tar.gz: fa285b94002bf9741fa3e610f676581908953968b4a5e2cb1c5f74476ca84f5e763a992c9a2f8e9d5e95e33d0f612a9b2ac70cd8abb5ffbd82b5fa62b6209358
data/.gitignore CHANGED
@@ -9,3 +9,4 @@
9
9
  .idea
10
10
  .ruby-gemset
11
11
  .ruby-version
12
+ .DS_Store
@@ -1,15 +1,15 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- advance (0.4.2)
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 (10.4.2)
12
- team_effort (1.0.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 (~> 10.0)
21
+ rake (~> 13.0)
22
22
 
23
23
  BUNDLED WITH
24
24
  1.17.3
@@ -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", "~> 10.0"
33
+ spec.add_development_dependency "rake", "~> 13.0"
34
34
  spec.add_development_dependency "minitest", "~> 5.0"
35
35
  end
@@ -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
- system "head -n 1 #{csv_file} > #{csv_file_name}_header"
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 #{csv_file_name}_header #{file} >> #{tmp_file}"
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 #{csv_file_name}_header"
21
+ do_cmd "rm #{header_file_name}"
22
+ do_cmd "rename 's/^(.*)\.csv_(.*)$/$1_$2.csv/' *csv*"
21
23
  puts ""
@@ -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%", index.to_f / max_index * 100)
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 $verbose_logging
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, $verbose_logging
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} " #if feedback
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
@@ -1,3 +1,3 @@
1
1
  module Advance
2
- VERSION = "0.4.2"
2
+ VERSION = "0.4.7"
3
3
  end
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.2
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: 2019-06-23 00:00:00.000000000 Z
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: '10.0'
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: '10.0'
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
- rubyforge_project:
125
- rubygems_version: 2.7.8
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: []