rbbt-util 5.21.66 → 5.21.67

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: 9ff21babc0504e17df0c48429ee4db81aebbac9a
4
- data.tar.gz: 0c6ba9a55916f59bdc371510a696ec2a49582cbd
3
+ metadata.gz: 6fdfbe2c9f05d2feec86f7af0493388d3fd82ae6
4
+ data.tar.gz: 76fdd311a0785941e491837ab1672c74ac4b1bf2
5
5
  SHA512:
6
- metadata.gz: b34c51ad0a84893b4d809234d99e935a2d58c88fe89e04b76f9dee30c49d39f04844a7ad02dea30ac18bd98be611e226f500e2bb95248778f4689e437620a873
7
- data.tar.gz: 50cb3f8b234f73a38bc406a2d328fafd2b87b83e9121e39a3885b52727c8649bcb0c456ae334f5a617343e595532d685aa567ba462942cfdc39e46c855fce68d
6
+ metadata.gz: 5ff39d846bfe555f00ae2643a8510636d626044b7c93186fb30d3d10141fa3c24777aa4426e4fea0ffc7ccdffeb89d70ff7138b757f9cd714bf7ebf681119089
7
+ data.tar.gz: 131a08fa2c1e7741e9542b508075021830dd708fd62f05e473b6f91c08a79670d669c2791daf31f1f4f11c351dd501702b2155f9b88dc39e686c552b91f21683
@@ -72,14 +72,26 @@ module Association
72
72
  info_fields = field_pos.collect{|f| f == :key ? :key : all_fields[f]}
73
73
  options = options.merge({:key_field => source_field, :fields => info_fields})
74
74
 
75
- tsv.with_monitor(options[:monitor]) do
76
- tsv = tsv.reorder source_field, fields if true or source_field != tsv.key_field or (fields and tsv.fields != fields)
77
- end
75
+ data = options[:data] || {}
76
+ TmpFile.with_file do |tmpfile|
77
+ tmp_data = Persist.open_database(tmpfile, true, :double, "HDB")
78
+
79
+ tsv.with_monitor(options[:monitor]) do
80
+ tsv = tsv.reorder source_field, fields, :persist => persist, :persist_data => tmp_data if true or source_field != tsv.key_field or (fields and tsv.fields != fields)
81
+ end
78
82
 
79
- tsv.key_field = source_header
80
- tsv.fields = field_headers
83
+ tsv.key_field = source_header
84
+ tsv.fields = field_headers
81
85
 
82
- tsv = translate tsv, source_format, target_format, :persist => persist if source_format or target_format
86
+ if source_format or target_format
87
+ tsv = translate tsv, source_format, target_format, :persist => true, :persist_data => data, :data => data
88
+ else
89
+ tsv.through do |k,v|
90
+ data[k] = v
91
+ end
92
+ tsv.annotate data
93
+ end
94
+ end
83
95
 
84
96
  tsv
85
97
  end
@@ -87,7 +99,7 @@ module Association
87
99
  def self.open_stream(stream, options = {})
88
100
  fields, persist = Misc.process_options options, :fields, :persist
89
101
 
90
- parser = TSV::Parser.new stream, options.merge(:fields => nil, :key_field => nil)
102
+ parser = TSV::Parser.new stream, options.merge(:fields => nil, :key_field => nil, :type => :double)
91
103
 
92
104
  key_field, *_fields = all_fields = parser.all_fields
93
105
 
@@ -128,13 +140,25 @@ module Association
128
140
  open_options = options.merge(parser.options).merge(:parser => parser)
129
141
  open_options = Misc.add_defaults open_options, :monitor => {:desc => "Parsing #{ Misc.fingerprint stream }"}
130
142
 
131
- tsv = TSV.parse parser.stream, {}, open_options
132
- tsv.key_field = source_header
133
- tsv.fields = field_headers
143
+ data = open_options[:data] || {}
144
+ tsv = nil
145
+ TmpFile.with_file do |tmpfile|
146
+ tmp_data = Persist.open_database(tmpfile, true, :double, "HDB")
147
+
148
+ tsv = TSV.parse parser.stream, tmp_data, open_options
149
+ tsv.key_field = source_header
150
+ tsv.fields = field_headers
134
151
 
135
- tsv = tsv.to_double unless tsv.type == :double
152
+ if source_format or target_format
153
+ tsv = translate tsv, source_format, target_format, :persist => true, :persist_data => data, :data => data
154
+ else
155
+ tsv.through do |k,v|
156
+ data[k] = v
157
+ end
158
+ tsv.annotate data
159
+ end
136
160
 
137
- tsv = translate tsv, source_format, target_format, :persist => persist if source_format or target_format
161
+ end
138
162
 
139
163
  tsv
140
164
  end
@@ -148,7 +172,18 @@ module Association
148
172
  open_stream(TSV.get_stream(file), options.dup)
149
173
  when TSV
150
174
  file = file.to_double unless file.type == :double
151
- reorder_tsv(file, options.dup)
175
+ tsv = reorder_tsv(file, options.dup)
176
+ if options[:data]
177
+ data = options[:data]
178
+ tsv.with_unnamed do
179
+ tsv.with_monitor("Saving database #{Misc.fingerprint file}") do
180
+ tsv.through do |k,v|
181
+ data[k] = v
182
+ end
183
+ end
184
+ end
185
+ end
186
+ tsv
152
187
  when IO
153
188
  open_stream(file, options.dup)
154
189
  else
@@ -22,19 +22,17 @@ module Association
22
22
  file = file.call if Proc === file
23
23
 
24
24
  options = options.dup
25
- tsv = Association.database(file, options.merge(:persist => persist, :unnamed => true))
26
- tsv = tsv.to_double unless tsv.type == :double
25
+ data.serializer = :double if data.respond_to? :serializer
27
26
 
28
- tsv.annotate data
27
+ tsv = Association.database(file, options.merge(:persist => true, :unnamed => true, :data => data, :type => :double))
29
28
 
30
- data.serializer = :double if data.respond_to? :serializer
31
- tsv.with_unnamed do
32
- tsv.with_monitor("Saving database #{Misc.fingerprint file}") do
33
- tsv.through do |k,v|
34
- data[k] = v
35
- end
36
- end
37
- end
29
+ #tsv.with_unnamed do
30
+ # tsv.with_monitor("Saving database #{Misc.fingerprint file}") do
31
+ # tsv.through do |k,v|
32
+ # data[k] = v
33
+ # end
34
+ # end
35
+ #end
38
36
 
39
37
  data
40
38
  end
@@ -249,10 +249,10 @@ module TSV
249
249
  persist_options[:prefix] = "Reorder"
250
250
 
251
251
  Persist.persist_tsv self, self.filename, self.options.merge({:key_field => new_key_field, :fields => new_fields}), persist_options do |data|
252
- if data.respond_to? :persistence_path
253
- real_data = data
254
- data = {}
255
- end
252
+ #if data.respond_to? :persistence_path
253
+ # real_data = data
254
+ # data = {}
255
+ #end
256
256
 
257
257
  new_key_field_name, new_field_names = nil, nil
258
258
  with_unnamed do
@@ -304,11 +304,11 @@ module TSV
304
304
  end
305
305
  end
306
306
 
307
- if real_data and real_data.respond_to? :persistence_path
308
- real_data.serializer = type if real_data.respond_to? :serializer
309
- real_data.merge!(data)
310
- data = real_data
311
- end
307
+ #if real_data and real_data.respond_to? :persistence_path
308
+ # real_data.serializer = type if real_data.respond_to? :serializer
309
+ # real_data.merge!(data)
310
+ # data = real_data
311
+ #end
312
312
 
313
313
  data.extend TSV unless TSV === data
314
314
  self.annotate(data)
@@ -325,7 +325,7 @@ class Step
325
325
  begin
326
326
  klass = Kernel.const_get(ex_class)
327
327
  ex = klass.new ex_message
328
- #ex.set_backtrace ex_backtrace
328
+ ex.set_backtrace ex_backtrace unless ex_backtrace.nil? or ex_backtrace.empty?
329
329
  ex
330
330
  rescue
331
331
  Log.exception $!
@@ -338,10 +338,11 @@ class Step
338
338
  return true if aborted?
339
339
  return false unless error?
340
340
  begin
341
+ return true unless info[:exception]
341
342
  klass = Kernel.const_get(info[:exception][:class])
342
343
  not (RbbtException == klass or RbbtException === klass)
343
344
  rescue Exception
344
- false
345
+ true
345
346
  end
346
347
  end
347
348
 
@@ -350,6 +351,7 @@ class Step
350
351
  end
351
352
 
352
353
  def dirty?
354
+ return true if done? and not status == :done
353
355
  dirty_files = rec_dependencies.collect{|dependency| dependency.path unless dependency.error? and not dependency.recoverable_error? }.compact.uniq.reject{|path| not (Path === path) or path.exists?}
354
356
  if dirty_files.any?
355
357
  true
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.66
4
+ version: 5.21.67
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Vazquez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-01-26 00:00:00.000000000 Z
11
+ date: 2017-01-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake