rbbt-util 5.14.37 → 5.14.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: 77b23907cff78c992f6ab59df3960c6971c9d437
4
- data.tar.gz: 84e2b4ae253849c8ef098169e731ef783ecaf0bd
3
+ metadata.gz: d8a0ba5fcb0625780c5a1cca6a17d1c7716533d0
4
+ data.tar.gz: db0e0a4843e3e8b63e7526ca1c1c6c156ee20f05
5
5
  SHA512:
6
- metadata.gz: 65b1490c1bfbab80be6acb838ad94c34b0ff331606ce015529076321bdca70ba5c0f30bffebeb731a98474e2c915f969f091bb07ee5d920b9cc5777d548a0c3b
7
- data.tar.gz: bea4df8d24aae52b80c67ac8f43365d1974a1b00030882fb73fd9c893c56ec65a9ffb54911c66d1021be13aafbaca1c374a78ff3af8dfb792997a2e5c296162a
6
+ metadata.gz: 9a4554bce956bd3ae4c4f457cc815d084622bde543504f4105b2b218bb2fb99e1ec33accae814a278b4062d92ad35b30d19e8295ffb9633484ccdb3d89f4a91b
7
+ data.tar.gz: 3de5de3a7f71fdcbc40f0ca62132e1dbc49dc5924c62101361fbf0f5caf1bdcee797775a5e6d6777871a5b128e1fd74b37eef48e245f12cb8835e7cad968b656
@@ -83,9 +83,6 @@ module Association
83
83
  end
84
84
  end
85
85
  end
86
-
87
- data.close
88
- data
89
86
  end.tap do |data|
90
87
  data.read if not Hash === data and data.respond_to? :read
91
88
  Association::Index.setup data
@@ -118,8 +115,6 @@ module Association
118
115
  raise "Can only reverse a TokyoCabinet::BDB dataset at the time"
119
116
  end
120
117
 
121
- self.read if self.respond_to? :read
122
-
123
118
  if File.exists?(reverse_filename)
124
119
  new = Persist.open_tokyocabinet(reverse_filename, false, serializer, TokyoCabinet::BDB)
125
120
  new
@@ -127,9 +122,11 @@ module Association
127
122
  FileUtils.mkdir_p File.dirname(reverse_filename) unless File.exists?(File.basename(reverse_filename))
128
123
  new = Persist.open_tokyocabinet(reverse_filename, true, serializer, TokyoCabinet::BDB)
129
124
  new.write
130
- through do |key, value|
131
- new_key = key.split("~").reverse.join("~")
132
- new[new_key] = value
125
+ self.with_unnamed do
126
+ through do |key, value|
127
+ new_key = key.split("~").reverse.join("~")
128
+ new[new_key] = value
129
+ end
133
130
  end
134
131
  annotate(new)
135
132
  new.key_field = key_field.split("~").values_at(1,0,2).compact * "~"
@@ -631,6 +631,34 @@ module TSV
631
631
  self
632
632
  end
633
633
 
634
+ def add_fields(names = [])
635
+ old_monitor = @monitor
636
+ @monitor = {:desc => "Adding field #{ names * ", " }"} if TrueClass === monitor
637
+
638
+ through do |key, values|
639
+ new_values = yield(key, values)
640
+
641
+ case type
642
+ when :double
643
+ new_values = new_values.collect{|v| [v] } if Array === new_values and new_values.first and not Array === new_values.first
644
+ values += new_values
645
+ when :list
646
+ values += new_values
647
+ end
648
+
649
+ self[key] = values
650
+ end
651
+ @monitor = old_monitor
652
+
653
+ if not fields.nil? and not (names.nil? or names.empty?)
654
+ new_fields = self.fields + names
655
+ self.fields = new_fields
656
+ end
657
+
658
+ self
659
+ end
660
+
661
+
634
662
  def transpose(key_field="Unkown ID")
635
663
  raise "Transposing only works for TSVs of type :list" unless type == :list
636
664
  new_fields = keys
@@ -276,7 +276,7 @@ module Misc
276
276
  end
277
277
  end
278
278
 
279
- def self.bootstrap(elems, num = :current, file = nil, &block)
279
+ def self.bootstrap(elems, num = :current, file = nil, options = {}, &block)
280
280
  num = :current if num.nil?
281
281
  cpus = case num
282
282
  when :current
@@ -291,8 +291,11 @@ module Misc
291
291
  end
292
292
  end
293
293
 
294
+
295
+ options = Misc.add_defaults options, :cpus => cpus, :bar => "Bootstrap in #{ cpus } cpus: #{ Misc.fingerprint Annotated.purge(elems) }", :into => Set.new
296
+
294
297
  index = (0..elems.length-1).to_a.collect{|v| v.to_s }
295
- TSV.traverse index, :cpus => cpus, :bar => "Bootstrap in #{ cpus } cpus: #{ Misc.fingerprint Annotated.purge(elems) }", :into => Set.new do |pos|
298
+ TSV.traverse index, options do |pos|
296
299
  elem = elems[pos.to_i]
297
300
  elems.annotate elem if elems.respond_to? :annotate
298
301
  begin
@@ -81,7 +81,7 @@ class Step
81
81
  end
82
82
 
83
83
  begin
84
- @info_cache = Misc.insist(2, 3, info_file) do
84
+ @info_cache = Misc.insist(3, 1.6, info_file) do
85
85
  Misc.insist(2, 1, info_file) do
86
86
  Misc.insist(3, 0.2, info_file) do
87
87
  raise TryAgain, "Info locked" if check_lock and info_lock.locked?
@@ -97,7 +97,7 @@ class Step
97
97
  rescue Exception
98
98
  Log.debug{"Error loading info file: " + info_file}
99
99
  Log.exception $!
100
- Open.sensiblewrite(info_file, INFO_SERIALIAZER.dump({:status => :error, :messages => ["Info file lost"]}))
100
+ Misc.sensiblewrite(info_file, INFO_SERIALIAZER.dump({:status => :error, :messages => ["Info file lost"]}))
101
101
  raise $!
102
102
  end
103
103
  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.14.37
4
+ version: 5.14.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: 2014-10-20 00:00:00.000000000 Z
11
+ date: 2014-10-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake