rbbt-util 5.14.37 → 5.14.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: 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