rbbt-util 5.17.43 → 5.17.44

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: 07109a9c34d01c741b7d550de080d87cf28f40ea
4
- data.tar.gz: c9d2484d8009620f89182520325d9e391939f6cd
3
+ metadata.gz: d1611ca04d7763d056195c336284ad3f6fbd325a
4
+ data.tar.gz: 54faf03af65f34c0dacb980cbbe16d5651e4046d
5
5
  SHA512:
6
- metadata.gz: cbe6b76dde5bc3efae6216ccc460e23825fd4ec1a932fb8db1d256151492df02edbc1792d0fa64340712d04af5c2d4e1c9a9dcf0be9f97b3e6663cd0836fa196
7
- data.tar.gz: 999911ac50fa6ed050222d86b00d5a795b77686ba565536e1a19ca7aaab1258376a3f9510bbcfb5807cd38089d0b6bb805183550efa580bb9662d10783c300e8
6
+ metadata.gz: 6a4aa49d73e3aa4635035b4d6fb9057efd2021682d3e78f4d3f2d1b9e9bdf86fc2fa2e2c410f11fc107e2e9057be78d9212a32d4bea3f7ae348c04e99fa64ff9
7
+ data.tar.gz: 5fc7d1e9c24789539e02df1d618c50f09dbb4c724107f368d7d18145be56c3db8f467c2cea57f5dc752cd80bc2be497a6bca61cc9f86ec9c140bac58176d29e4
data/bin/rbbt CHANGED
@@ -195,6 +195,9 @@ begin
195
195
  load dir[$command].find
196
196
  exit 0
197
197
  end
198
+ when File.exists?($command)
199
+ load $command
200
+ exit 0
198
201
  else
199
202
  error = "Command '#{$command }' not understood"
200
203
  rbbt_usage($previous_commands)
@@ -262,19 +262,21 @@ module TSV
262
262
  else
263
263
  case type
264
264
  when :double
265
- new_key_field_name, new_field_names = through new_key_field, new_fields, uniq, zipped do |key, value|
266
- if data[key]
267
- current = data[key].dup
268
- value.each_with_index do |v, i|
269
- if current[i]
270
- current[i] += v if v
271
- else
272
- current[i] = v || []
265
+ new_key_field_name, new_field_names = through new_key_field, new_fields, uniq, zipped do |keys, value|
266
+ keys.each do |key|
267
+ if data[key]
268
+ current = data[key].dup
269
+ value.each_with_index do |v, i|
270
+ if current[i]
271
+ current[i] += v if v
272
+ else
273
+ current[i] = v || []
274
+ end
273
275
  end
276
+ data[key] = current
277
+ else
278
+ data[key] = value.collect{|v| v.nil? ? nil : v.dup}
274
279
  end
275
- data[key] = current
276
- else
277
- data[key] = value.collect{|v| v.nil? ? nil : v.dup}
278
280
  end
279
281
  end
280
282
  when :flat
@@ -3,12 +3,40 @@
3
3
  require 'rbbt-util'
4
4
  require 'rbbt/util/simpleopt'
5
5
 
6
+ $0 = "rbbt #{$previous_commands*""} #{ File.basename(__FILE__) }" if $previous_commands
6
7
 
7
- file = ARGV.shift
8
- identifiers = ARGV.shift
9
- format = ARGV.shift
8
+ options = SOPT.setup <<EOF
10
9
 
11
- file = STDIN if file == '-'
10
+ Description
12
11
 
13
- puts TSV.open(file).attach identifiers, :fields => [format]
12
+ $ rbbt tsv attach <file1> <file2> [<file3> ...] [options]
14
13
 
14
+ Use - to read from STDIN
15
+
16
+ -f--fields* Fields to attach (all if not specified)
17
+ -h--help Print this help
18
+
19
+ EOF
20
+ if options[:help]
21
+ if defined? rbbt_usage
22
+ rbbt_usage
23
+ else
24
+ puts SOPT.usage
25
+ end
26
+ exit 0
27
+ end
28
+
29
+ file1, *rest = ARGV
30
+ fields = options[:fields]
31
+
32
+ fields = fields ? fields.split(/[,|]/).collect{|f| f.strip} : nil
33
+
34
+ tsv = TSV.open(file1)
35
+
36
+ rest.each do |file2|
37
+ file_fields = TSV.parse_header(file2).all_fields - tsv.all_fields
38
+ these_fields = fields ? fields & file_fields : nil
39
+ tsv = tsv.attach file2, :fields => these_fields
40
+ end
41
+
42
+ puts tsv.to_s
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbbt-util
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.17.43
4
+ version: 5.17.44
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Vazquez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-08 00:00:00.000000000 Z
11
+ date: 2015-06-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake