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 +4 -4
- data/bin/rbbt +3 -0
- data/lib/rbbt/tsv/manipulate.rb +13 -11
- data/share/rbbt_commands/tsv/attach +33 -5
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d1611ca04d7763d056195c336284ad3f6fbd325a
|
4
|
+
data.tar.gz: 54faf03af65f34c0dacb980cbbe16d5651e4046d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6a4aa49d73e3aa4635035b4d6fb9057efd2021682d3e78f4d3f2d1b9e9bdf86fc2fa2e2c410f11fc107e2e9057be78d9212a32d4bea3f7ae348c04e99fa64ff9
|
7
|
+
data.tar.gz: 5fc7d1e9c24789539e02df1d618c50f09dbb4c724107f368d7d18145be56c3db8f467c2cea57f5dc752cd80bc2be497a6bca61cc9f86ec9c140bac58176d29e4
|
data/bin/rbbt
CHANGED
data/lib/rbbt/tsv/manipulate.rb
CHANGED
@@ -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 |
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
current[i]
|
271
|
-
|
272
|
-
|
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
|
-
|
8
|
-
identifiers = ARGV.shift
|
9
|
-
format = ARGV.shift
|
8
|
+
options = SOPT.setup <<EOF
|
10
9
|
|
11
|
-
|
10
|
+
Description
|
12
11
|
|
13
|
-
|
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.
|
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-
|
11
|
+
date: 2015-06-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|