rbbt-util 5.21.37 → 5.21.38

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: 78be312f6bb148f4e418c5b7e1db7882d07de211
4
- data.tar.gz: e6fe03044a0b18a86bbdca5fb34f812ea30d2272
3
+ metadata.gz: cd8af3e8cd66f4c08804641788f1ae6384343f09
4
+ data.tar.gz: ee6b16cea96ef6699bc8f9b1fa359c6af2bc6d5a
5
5
  SHA512:
6
- metadata.gz: 8b2737f05aeff25db35e32cedd1f1e711157fe52f81a86ed0c3fcef55f69914e3ceb35eba88f75ac910fb6ffa59b312935841b2c2f095b4420373a0e6b62f2c6
7
- data.tar.gz: c24625b00ec05ad1a8ecb83baa3f9043b75392bd71adce65805e61657581a5275eb3057b90eb882ebbf75dbc8da00c0e85fe128aa2ddbd2b7174dc269e633457
6
+ metadata.gz: ca555f21bd75ca53a3c74c92fa9e611dbbad7c09249c8d4bd3b041e0c498e7712fbe28384f3d397708cadda1efe4231e416d5e13b28fb313260b9de5ff1abecc
7
+ data.tar.gz: 5ea4b7dd1719264f3e9688aa8655b4ecee425306a5181e67de03b30ee592982c2217e3a7ed9f3f0203d0cb7b1265024a246ee2420c3ea3e77df81a447dbacea2
@@ -109,7 +109,7 @@ module Association
109
109
  [parts[@key_field], parts.values_at(*@fields)]
110
110
  end
111
111
  end
112
- when :double, :list, :single
112
+ when :double
113
113
  class << parser
114
114
  def get_values(parts)
115
115
  [parts[@key_field].split(@sep2,-1), parts.values_at(*@fields).collect{|v| v.nil? ? [] : v.split(@sep2,-1) }]
@@ -11,7 +11,8 @@ module Association
11
11
  options = options.nil? ? {} : options.dup
12
12
  persist_options = persist_options.nil? ? Misc.pull_keys(options, :persist) : persist_options.dup
13
13
 
14
- options = Misc.add_defaults options, :zipped => true, :monitor => {:desc => "Opening database #{Misc.fingerprint file}"}
14
+ options = Misc.add_defaults options, :zipped => true, :merge => true, :monitor => {:desc => "Opening database #{Misc.fingerprint file}"}
15
+ options[:zipped] = false unless options[:merge]
15
16
  persist_options = Misc.add_defaults persist_options, :persist => true, :dir => Rbbt.var.associations
16
17
  persist = persist_options[:persist]
17
18
 
@@ -28,7 +29,7 @@ module Association
28
29
 
29
30
  data.serializer = :double if data.respond_to? :serializer
30
31
  tsv.with_unnamed do
31
- tsv.with_monitor(options[:monitor]) do
32
+ tsv.with_monitor("Saving database #{Misc.fingerprint file}") do
32
33
  tsv.through do |k,v|
33
34
  data[k] = v
34
35
  end
@@ -430,11 +430,11 @@ module TSV
430
430
  self.instance_eval do alias cast_values cast_values_double end
431
431
  case
432
432
  when (merge and not zipped)
433
- self.instance_eval do alias add_to_data add_to_data_merge end
433
+ self.instance_eval do alias add_to_data add_to_data_merge end
434
434
  when (merge and zipped)
435
- self.instance_eval do alias add_to_data add_to_data_merge_zipped end
435
+ self.instance_eval do alias add_to_data add_to_data_merge_zipped end
436
436
  when zipped
437
- self.instance_eval do alias add_to_data add_to_data_zipped end
437
+ self.instance_eval do alias add_to_data add_to_data_zipped end
438
438
  else
439
439
  self.instance_eval do alias add_to_data add_to_data_no_merge_double end
440
440
  end
@@ -279,15 +279,40 @@ module TSV
279
279
  end
280
280
 
281
281
 
282
- def self.reorder_stream_tsv(stream, key_field, fields)
282
+ def self.reorder_stream_tsv(stream, key_field, fields=nil, zipped = true)
283
283
  parser = TSV::Parser.new TSV.get_stream(stream), :key_field => key_field, :fields => fields
284
284
  dumper_options = parser.options
285
285
  dumper = TSV::Dumper.new dumper_options
286
286
  dumper.init
287
- TSV.traverse parser, :into => dumper do |key,values|
288
- key = key.first if Array === key
289
- values = [values] unless Array === values
290
- [key, values]
287
+ case parser.type
288
+ when :single
289
+ TSV.traverse parser, :into => dumper do |keys,values|
290
+ key = keys.first
291
+ [key, [values]]
292
+ end
293
+ when :double
294
+ TSV.traverse parser, :into => dumper do |keys,values|
295
+ raise [keys, values].inspect if keys.include? 'gain'
296
+ res = []
297
+ keys.each_with_index do |key,i|
298
+ vs = zipped ? values.collect{|l| l.length == 1 ? l : [l[i]] } : values
299
+ res << [key, vs]
300
+ end
301
+ res.extend MultipleResult
302
+ res
303
+ end
304
+ when :list
305
+ TSV.traverse parser, :into => dumper do |keys,values|
306
+ key = keys.first
307
+ [key, values]
308
+ end
309
+ when :flat
310
+ TSV.traverse parser, :into => dumper do |keys,values|
311
+ key = keys.first
312
+ [key, values]
313
+ end
314
+ else
315
+ raise "Unknown type: " << parser.type.to_s
291
316
  end
292
317
  dumper
293
318
  end
@@ -447,7 +447,7 @@ when (defined?(WorkflowRESTClient) and WorkflowRESTClient::RemoteStep)
447
447
  res.join if res.respond_to? :join
448
448
  elsif res.nil?
449
449
  job.join
450
- puts Open.read(job.path, :nocache => true)
450
+ puts Open.read(job.path, :nocache => true, :nofail => true)
451
451
  else
452
452
  puts res.to_s
453
453
  end
@@ -246,7 +246,7 @@ row4 BBB CC
246
246
 
247
247
  s = StringIO.new text
248
248
  dumper = TSV.reorder_stream_tsv(s, "LabelC", %w(Row LabelA))
249
- tsv = TSV.open TSV.collapse_stream(dumper.stream).stream.read
249
+ tsv = TSV.open TSV.collapse_stream(dumper.stream)
250
250
  assert_equal %w(row2 row4), tsv["CC"]["Row"]
251
251
  end
252
252
  end
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.21.37
4
+ version: 5.21.38
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Vazquez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-22 00:00:00.000000000 Z
11
+ date: 2016-10-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake