rbbt-util 5.21.37 → 5.21.38

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
  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