rbbt-util 5.20.9 → 5.20.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/rbbt +1 -1
- data/bin/rbbt_query.rb +1 -1
- data/lib/rbbt/association/index.rb +3 -3
- data/lib/rbbt/fix_width_table.rb +4 -4
- data/lib/rbbt/persist/tsv.rb +4 -4
- data/lib/rbbt/persist/tsv/cdb.rb +3 -3
- data/lib/rbbt/persist/tsv/fix_width_table.rb +2 -2
- data/lib/rbbt/persist/tsv/kyotocabinet.rb +2 -2
- data/lib/rbbt/persist/tsv/leveldb.rb +2 -2
- data/lib/rbbt/persist/tsv/lmdb.rb +2 -2
- data/lib/rbbt/persist/tsv/packed_index.rb +2 -2
- data/lib/rbbt/persist/tsv/sharder.rb +4 -4
- data/lib/rbbt/persist/tsv/tokyocabinet.rb +2 -2
- data/lib/rbbt/resource.rb +6 -6
- data/lib/rbbt/resource/path.rb +7 -7
- data/lib/rbbt/resource/util.rb +9 -9
- data/lib/rbbt/rest/client/step.rb +8 -4
- data/lib/rbbt/tsv/attach.rb +21 -19
- data/lib/rbbt/tsv/parallel/traverse.rb +2 -2
- data/lib/rbbt/tsv/util.rb +1 -1
- data/lib/rbbt/util/R.rb +1 -1
- data/lib/rbbt/util/R/eval.rb +10 -10
- data/lib/rbbt/util/R/model.rb +2 -2
- data/lib/rbbt/util/docker.rb +3 -3
- data/lib/rbbt/util/filecache.rb +2 -2
- data/lib/rbbt/util/misc/development.rb +6 -4
- data/lib/rbbt/util/misc/lock.rb +1 -1
- data/lib/rbbt/util/misc/multipart_payload.rb +1 -1
- data/lib/rbbt/util/misc/pipes.rb +8 -8
- data/lib/rbbt/util/misc/system.rb +3 -3
- data/lib/rbbt/util/open.rb +9 -9
- data/lib/rbbt/util/simpleDSL.rb +2 -2
- data/lib/rbbt/util/tar.rb +1 -1
- data/lib/rbbt/util/tmpfile.rb +2 -2
- data/lib/rbbt/workflow.rb +26 -12
- data/lib/rbbt/workflow/accessor.rb +4 -4
- data/lib/rbbt/workflow/step/dependencies.rb +1 -1
- data/lib/rbbt/workflow/step/run.rb +6 -6
- data/share/rbbt_commands/app/install +2 -2
- data/share/rbbt_commands/app/start +1 -1
- data/share/rbbt_commands/log +5 -1
- data/share/rbbt_commands/resource/exists +1 -1
- data/share/rbbt_commands/study/task +3 -3
- data/share/rbbt_commands/system/clean +2 -2
- data/share/rbbt_commands/system/deleted_files +1 -1
- data/share/rbbt_commands/system/status +3 -3
- data/share/rbbt_commands/tsv/info +1 -1
- data/share/rbbt_commands/tsv/subset +1 -1
- data/share/rbbt_commands/workflow/example +1 -1
- data/share/rbbt_commands/workflow/install +3 -3
- data/share/rbbt_commands/workflow/monitor +6 -6
- data/share/rbbt_commands/workflow/prov +2 -2
- data/share/rbbt_commands/workflow/server +2 -2
- data/share/rbbt_commands/workflow/task +3 -3
- data/test/rbbt/test_resource.rb +2 -2
- data/test/rbbt/workflow/test_step.rb +3 -6
- metadata +2 -3
- data/lib/rbbt/util/misc/progress.rb +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2c424ed8cfdf95b53803cbc976261f9542eda87d
|
4
|
+
data.tar.gz: 1ed15794721f06807a43e2158ec5186cdfaa6462
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3006d04121e96c3a1a290520a7749615a602718843c09bca87533f2f07cf412918eee6a48eedee4c12c88f751cb203ca9a996b8c6b08f0ad821ac2f56b64b35f
|
7
|
+
data.tar.gz: 7ca5624085d95696df0d2693e384031d7c82fc38372721fb5978c96e9e4d132abb71f9dde3f942d0f2abcf10d2b4f3f82f4fa5feab97396d23474f2ba42f9b17
|
data/bin/rbbt
CHANGED
data/bin/rbbt_query.rb
CHANGED
@@ -8,7 +8,7 @@ options = SOPT.get("-i--identifiers*:-f--format*:-o--organism*:-p--persistence:-
|
|
8
8
|
|
9
9
|
file = ARGV[0]
|
10
10
|
|
11
|
-
if not File.
|
11
|
+
if not File.exist? file
|
12
12
|
base, path = file.match(/([^.]*)\.(.*)/).values_at 1, 2
|
13
13
|
require 'rbbt/sources/' << base.to_s.downcase
|
14
14
|
klass = Misc.string2const base
|
@@ -128,13 +128,13 @@ module Association
|
|
128
128
|
raise "Can only reverse a TokyoCabinet::BDB dataset at the time"
|
129
129
|
end
|
130
130
|
|
131
|
-
if File.
|
131
|
+
if File.exist?(reverse_filename)
|
132
132
|
new = Persist.open_tokyocabinet(reverse_filename, false, serializer, TokyoCabinet::BDB)
|
133
133
|
raise "Index has no info: #{reverse_filename}" if new.key_field.nil?
|
134
134
|
Association::Index.setup new
|
135
135
|
new
|
136
136
|
else
|
137
|
-
FileUtils.mkdir_p File.dirname(reverse_filename) unless File.
|
137
|
+
FileUtils.mkdir_p File.dirname(reverse_filename) unless File.exist?(File.dirname(reverse_filename))
|
138
138
|
|
139
139
|
new = Persist.open_tokyocabinet(reverse_filename, true, serializer, TokyoCabinet::BDB)
|
140
140
|
|
@@ -161,7 +161,7 @@ module Association
|
|
161
161
|
new
|
162
162
|
rescue Exception
|
163
163
|
Log.error "Deleting after error reversing database: #{ reverse_filename }"
|
164
|
-
FileUtils.rm reverse_filename if File.
|
164
|
+
FileUtils.rm reverse_filename if File.exist? reverse_filename
|
165
165
|
raise $!
|
166
166
|
end
|
167
167
|
end
|
data/lib/rbbt/fix_width_table.rb
CHANGED
@@ -4,7 +4,7 @@ class FixWidthTable
|
|
4
4
|
def initialize(filename, value_size = nil, range = nil, update = false, in_memory = true)
|
5
5
|
@filename = filename
|
6
6
|
|
7
|
-
if update or %w(memory stringio).include?(filename.to_s.downcase) or not File.
|
7
|
+
if update or %w(memory stringio).include?(filename.to_s.downcase) or not File.exist?(filename)
|
8
8
|
Log.debug "FixWidthTable create: #{ filename }"
|
9
9
|
@value_size = value_size
|
10
10
|
@range = range
|
@@ -15,8 +15,8 @@ class FixWidthTable
|
|
15
15
|
@filename = :memory
|
16
16
|
@file = StringIO.new
|
17
17
|
else
|
18
|
-
FileUtils.rm @filename if File.
|
19
|
-
FileUtils.mkdir_p File.dirname(@filename) unless File.
|
18
|
+
FileUtils.rm @filename if File.exist? @filename
|
19
|
+
FileUtils.mkdir_p File.dirname(@filename) unless File.exist? @filename
|
20
20
|
@file = File.open(@filename, 'wb')
|
21
21
|
end
|
22
22
|
|
@@ -57,7 +57,7 @@ class FixWidthTable
|
|
57
57
|
def self.get(filename, value_size = nil, range = nil, update = false)
|
58
58
|
return self.new(filename, value_size, range, update) if filename == :memory
|
59
59
|
case
|
60
|
-
when (!File.
|
60
|
+
when (!File.exist?(filename) or update or not Persist::CONNECTIONS.include?(filename))
|
61
61
|
Persist::CONNECTIONS[filename] = self.new(filename, value_size, range, update)
|
62
62
|
end
|
63
63
|
|
data/lib/rbbt/persist/tsv.rb
CHANGED
@@ -129,7 +129,7 @@ module Persist
|
|
129
129
|
end
|
130
130
|
path = path.find if Path === path
|
131
131
|
|
132
|
-
FileUtils.rm_rf path if File.
|
132
|
+
FileUtils.rm_rf path if File.exist? path
|
133
133
|
|
134
134
|
Log.medium "TSV persistence creating: #{ path }"
|
135
135
|
|
@@ -149,7 +149,7 @@ module Persist
|
|
149
149
|
yield data
|
150
150
|
end
|
151
151
|
|
152
|
-
FileUtils.mv data.persistence_path, path if File.
|
152
|
+
FileUtils.mv data.persistence_path, path if File.exist? data.persistence_path and not File.exist? path
|
153
153
|
tsv = CONNECTIONS[path] = CONNECTIONS.delete tmp_path
|
154
154
|
tsv.persistence_path = path
|
155
155
|
|
@@ -158,8 +158,8 @@ module Persist
|
|
158
158
|
data
|
159
159
|
rescue Exception
|
160
160
|
Log.error "Captured error during persist_tsv. Erasing: #{path}"
|
161
|
-
FileUtils.rm_rf tmp_path if tmp_path and File.
|
162
|
-
FileUtils.rm_rf path if path and File.
|
161
|
+
FileUtils.rm_rf tmp_path if tmp_path and File.exist? tmp_path
|
162
|
+
FileUtils.rm_rf path if path and File.exist? path
|
163
163
|
raise $!
|
164
164
|
end
|
165
165
|
end
|
data/lib/rbbt/persist/tsv/cdb.rb
CHANGED
@@ -6,7 +6,7 @@ module Persist
|
|
6
6
|
include Persist::TSVAdapter
|
7
7
|
|
8
8
|
def self.open(path, write)
|
9
|
-
write = true unless File.
|
9
|
+
write = true unless File.exist? path
|
10
10
|
|
11
11
|
database = CONNECTIONS[path] ||= begin
|
12
12
|
file = File.open(path, 'w')
|
@@ -126,9 +126,9 @@ module Persist
|
|
126
126
|
|
127
127
|
|
128
128
|
def self.open_cdb(path, write, serializer = nil)
|
129
|
-
write = true unless File.
|
129
|
+
write = true unless File.exist? path
|
130
130
|
|
131
|
-
FileUtils.mkdir_p File.dirname(path) unless File.
|
131
|
+
FileUtils.mkdir_p File.dirname(path) unless File.exist?(File.dirname(path))
|
132
132
|
|
133
133
|
database = Persist::CDBAdapter.open(path, write)
|
134
134
|
|
@@ -25,7 +25,7 @@ module Persist
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def metadata
|
28
|
-
return {} unless File.
|
28
|
+
return {} unless File.exist? metadata_file
|
29
29
|
Open.open(metadata_file, :mode => "rb") do |f|
|
30
30
|
Marshal.load(f)
|
31
31
|
end
|
@@ -96,7 +96,7 @@ module Persist
|
|
96
96
|
end
|
97
97
|
|
98
98
|
def self.open_fwt(path, value_size, range = false, serializer = nil, update = false, in_memory = false, &pos_function)
|
99
|
-
FileUtils.mkdir_p File.dirname(path) unless File.
|
99
|
+
FileUtils.mkdir_p File.dirname(path) unless File.exist?(File.dirname(path))
|
100
100
|
|
101
101
|
database = Persist::FWTAdapter.open(path, value_size, range, update, in_memory, &pos_function)
|
102
102
|
|
@@ -78,9 +78,9 @@ module Persist
|
|
78
78
|
|
79
79
|
|
80
80
|
def self.open_kyotocabinet(path, write, serializer = nil, kyotocabinet_class= 'kch')
|
81
|
-
write = true unless File.
|
81
|
+
write = true unless File.exist? path
|
82
82
|
|
83
|
-
FileUtils.mkdir_p File.dirname(path) unless File.
|
83
|
+
FileUtils.mkdir_p File.dirname(path) unless File.exist?(File.dirname(path))
|
84
84
|
|
85
85
|
database = Persist::KCAdapter.open(path, write, kyotocabinet_class)
|
86
86
|
|
@@ -104,9 +104,9 @@ module Persist
|
|
104
104
|
|
105
105
|
|
106
106
|
def self.open_leveldb(path, write, serializer = nil)
|
107
|
-
write = true unless File.
|
107
|
+
write = true unless File.exist? path
|
108
108
|
|
109
|
-
FileUtils.mkdir_p File.dirname(path) unless File.
|
109
|
+
FileUtils.mkdir_p File.dirname(path) unless File.exist?(File.dirname(path))
|
110
110
|
|
111
111
|
database = Persist::LevelDBAdapter.open(path, write)
|
112
112
|
|
@@ -45,9 +45,9 @@ module Persist
|
|
45
45
|
end
|
46
46
|
|
47
47
|
def self.open_lmdb(path, write, serializer = nil)
|
48
|
-
write = true unless File.
|
48
|
+
write = true unless File.exist? path
|
49
49
|
|
50
|
-
FileUtils.mkdir_p File.dirname(path) unless File.
|
50
|
+
FileUtils.mkdir_p File.dirname(path) unless File.exist?(File.dirname(path))
|
51
51
|
|
52
52
|
database = Persist::LMDBAdapter.open(path, write)
|
53
53
|
|
@@ -25,7 +25,7 @@ module Persist
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def metadata
|
28
|
-
return {} unless File.
|
28
|
+
return {} unless File.exist? metadata_file
|
29
29
|
Open.open(metadata_file, :mode => "rb") do |f|
|
30
30
|
Marshal.load(f)
|
31
31
|
end
|
@@ -96,7 +96,7 @@ module Persist
|
|
96
96
|
end
|
97
97
|
|
98
98
|
def self.open_pki(path, write, pattern, &pos_function)
|
99
|
-
FileUtils.mkdir_p File.dirname(path) unless File.
|
99
|
+
FileUtils.mkdir_p File.dirname(path) unless File.exist?(File.dirname(path))
|
100
100
|
|
101
101
|
database = Persist::PKIAdapter.open(path, write, pattern, &pos_function)
|
102
102
|
|
@@ -58,12 +58,12 @@ module Persist
|
|
58
58
|
if shard == 'metadata'
|
59
59
|
database ||= begin
|
60
60
|
path = File.join(persistence_path, 'shard-' << shard.to_s)
|
61
|
-
(writable or File.
|
61
|
+
(writable or File.exist?(path)) ? Persist.open_database(path, writable, :clean, "HDB", @options) : nil
|
62
62
|
end
|
63
63
|
else
|
64
64
|
database ||= begin
|
65
65
|
path = File.join(persistence_path, 'shard-' << shard.to_s)
|
66
|
-
(writable or File.
|
66
|
+
(writable or File.exist?(path)) ? Persist.open_database(path, writable, :clean, db_type, @options) : nil
|
67
67
|
end
|
68
68
|
end
|
69
69
|
if database
|
@@ -243,9 +243,9 @@ module Persist
|
|
243
243
|
end
|
244
244
|
|
245
245
|
def self.open_sharder(path, write, serializer = nil, type = TokyoCabinet::HDB, options, &shard_function)
|
246
|
-
write = true unless File.
|
246
|
+
write = true unless File.exist? path
|
247
247
|
|
248
|
-
FileUtils.mkdir_p File.dirname(path) unless File.
|
248
|
+
FileUtils.mkdir_p File.dirname(path) unless File.exist?(File.dirname(path))
|
249
249
|
|
250
250
|
database = Persist::SharderAdapter.open(path, write, type, options, &shard_function)
|
251
251
|
|
@@ -74,9 +74,9 @@ module Persist
|
|
74
74
|
end
|
75
75
|
|
76
76
|
def self.open_tokyocabinet(path, write, serializer = nil, tokyocabinet_class = TokyoCabinet::HDB)
|
77
|
-
write = true unless File.
|
77
|
+
write = true unless File.exist? path
|
78
78
|
|
79
|
-
FileUtils.mkdir_p File.dirname(path) unless File.
|
79
|
+
FileUtils.mkdir_p File.dirname(path) unless File.exist?(File.dirname(path))
|
80
80
|
|
81
81
|
database = Persist::TCAdapter.open(path, write, serializer, tokyocabinet_class)
|
82
82
|
|
data/lib/rbbt/resource.rb
CHANGED
@@ -92,7 +92,7 @@ module Resource
|
|
92
92
|
when Net::HTTPRedirection, Net::HTTPFound
|
93
93
|
location = response['location']
|
94
94
|
Log.debug("Feching directory from: #{location}. Into: #{final_path}")
|
95
|
-
FileUtils.mkdir_p final_path unless File.
|
95
|
+
FileUtils.mkdir_p final_path unless File.exist? final_path
|
96
96
|
TmpFile.with_file do |tmp_dir|
|
97
97
|
Misc.in_dir tmp_dir do
|
98
98
|
CMD.cmd('tar xvfz -', :in => Open.open(location, :nocache => true))
|
@@ -110,7 +110,7 @@ module Resource
|
|
110
110
|
rescue
|
111
111
|
Log.warn "Could not retrieve (#{self.to_s}) #{ path } from #{ remote_server }"
|
112
112
|
Log.error $!.message
|
113
|
-
FileUtils.rm_rf final_path if File.
|
113
|
+
FileUtils.rm_rf final_path if File.exist? final_path
|
114
114
|
return false
|
115
115
|
end
|
116
116
|
end
|
@@ -133,12 +133,12 @@ module Resource
|
|
133
133
|
final_path = path
|
134
134
|
end
|
135
135
|
|
136
|
-
if not File.
|
136
|
+
if not File.exist? final_path or force
|
137
137
|
Log.medium "Producing: #{ final_path }"
|
138
138
|
lock_filename = Persist.persistence_path(final_path, {:dir => Resource.lock_dir})
|
139
139
|
Misc.lock lock_filename do
|
140
|
-
FileUtils.rm_rf final_path if force and File.
|
141
|
-
if not File.
|
140
|
+
FileUtils.rm_rf final_path if force and File.exist? final_path
|
141
|
+
if not File.exist? final_path or force
|
142
142
|
(remote_server and get_from_server(path, final_path)) or
|
143
143
|
begin
|
144
144
|
case type
|
@@ -192,7 +192,7 @@ source "$INSTALL_HELPER_FILE"
|
|
192
192
|
raise "Could not produce #{ resource }. (#{ type }, #{ content })"
|
193
193
|
end
|
194
194
|
rescue
|
195
|
-
FileUtils.rm_rf final_path if File.
|
195
|
+
FileUtils.rm_rf final_path if File.exist? final_path
|
196
196
|
raise $!
|
197
197
|
end
|
198
198
|
end
|
data/lib/rbbt/resource/path.rb
CHANGED
@@ -85,7 +85,7 @@ module Path
|
|
85
85
|
STANDARD_SEARCH = %w(current user local global lib cache bulk)
|
86
86
|
|
87
87
|
search_path_file = File.join(ENV['HOME'], '.rbbt/etc/search_paths')
|
88
|
-
if File.
|
88
|
+
if File.exist?(search_path_file)
|
89
89
|
YAML.load(File.open(search_path_file)).each do |where, location|
|
90
90
|
SEARCH_PATHS[where.to_sym] = location
|
91
91
|
end
|
@@ -112,13 +112,13 @@ module Path
|
|
112
112
|
w = w.to_sym
|
113
113
|
next unless paths.include? w
|
114
114
|
path = find(w, caller_lib, paths)
|
115
|
-
return path if File.
|
115
|
+
return path if File.exist? path
|
116
116
|
end
|
117
117
|
(SEARCH_PATHS.keys - STANDARD_SEARCH).each do |w|
|
118
118
|
w = w.to_sym
|
119
119
|
next unless paths.include? w
|
120
120
|
path = find(w, caller_lib, paths)
|
121
|
-
return path if File.
|
121
|
+
return path if File.exist? path
|
122
122
|
end
|
123
123
|
|
124
124
|
if paths.include? :default
|
@@ -147,8 +147,8 @@ module Path
|
|
147
147
|
sub('{PATH}', self).
|
148
148
|
sub('{LIBDIR}', libdir) #, @pkgdir, @resource, @search_paths
|
149
149
|
|
150
|
-
path = path + '.gz' if File.
|
151
|
-
path = path + '.bgz' if File.
|
150
|
+
path = path + '.gz' if File.exist? path + '.gz'
|
151
|
+
path = path + '.bgz' if File.exist? path + '.bgz'
|
152
152
|
|
153
153
|
self.annotate path
|
154
154
|
end
|
@@ -325,7 +325,7 @@ module Path
|
|
325
325
|
relative_file = self.sub(/(.*\/)doc\//, '\1').sub(lib_dir + "/",'')
|
326
326
|
file = File.join(lib_dir, relative_file)
|
327
327
|
|
328
|
-
if not File.
|
328
|
+
if not File.exist?(file)
|
329
329
|
file= Dir.glob(file.sub(/\.[^\.\/]+$/, '.*')).first
|
330
330
|
end
|
331
331
|
|
@@ -333,7 +333,7 @@ module Path
|
|
333
333
|
else
|
334
334
|
relative_file = self.sub(/^doc\//, '\1')
|
335
335
|
|
336
|
-
if not File.
|
336
|
+
if not File.exist?(relative_file)
|
337
337
|
relative_file = Dir.glob(relative_file.sub(/\.[^\.\/]+$/, '.*')).first
|
338
338
|
end
|
339
339
|
|
data/lib/rbbt/resource/util.rb
CHANGED
@@ -9,12 +9,12 @@ module Path
|
|
9
9
|
}.first.sub(/\.rb[^\w].*/,'.rb') if file.nil?
|
10
10
|
|
11
11
|
file = File.expand_path(file)
|
12
|
-
return Path.setup(file) if File.
|
12
|
+
return Path.setup(file) if File.exist? File.join(file, relative_to)
|
13
13
|
|
14
14
|
while file != '/'
|
15
15
|
dir = File.dirname file
|
16
16
|
|
17
|
-
return Path.setup(dir) if File.
|
17
|
+
return Path.setup(dir) if File.exist? File.join(dir, relative_to)
|
18
18
|
|
19
19
|
file = File.dirname file
|
20
20
|
end
|
@@ -38,12 +38,12 @@ module Resource
|
|
38
38
|
|
39
39
|
Misc.env_add 'PATH', bin_dir
|
40
40
|
|
41
|
-
FileUtils.mkdir_p opt_dir unless File.
|
41
|
+
FileUtils.mkdir_p opt_dir unless File.exist? opt_dir
|
42
42
|
|
43
43
|
%w(.ld-paths .pkgconfig-paths .aclocal-paths .java-classpaths).each do |file|
|
44
44
|
filename = File.join(opt_dir, file)
|
45
45
|
begin
|
46
|
-
FileUtils.touch filename unless File.
|
46
|
+
FileUtils.touch filename unless File.exist? filename
|
47
47
|
rescue
|
48
48
|
Log.warn("Could not touch #{ filename }")
|
49
49
|
end
|
@@ -52,25 +52,25 @@ module Resource
|
|
52
52
|
Open.read(File.join opt_dir, '.ld-paths').split(/\n/).each do |line|
|
53
53
|
Misc.env_add('LD_LIBRARY_PATH',line.chomp)
|
54
54
|
Misc.env_add('LD_RUN_PATH',line.chomp)
|
55
|
-
end if File.
|
55
|
+
end if File.exist? File.join(opt_dir, '.ld-paths')
|
56
56
|
|
57
57
|
Open.read(File.join opt_dir, '.pkgconfig-paths').split(/\n/).each do |line|
|
58
58
|
Misc.env_add('PKG_CONFIG_PATH',line.chomp)
|
59
|
-
end if File.
|
59
|
+
end if File.exist? File.join(opt_dir, '.pkgconfig-paths')
|
60
60
|
|
61
61
|
Open.read(File.join opt_dir, '.aclocal-paths').split(/\n/).each do |line|
|
62
62
|
Misc.env_add('ACLOCAL_FLAGS', "-I#{File.join(opt_dir, line.chomp)}", ' ')
|
63
|
-
end if File.
|
63
|
+
end if File.exist? File.join(opt_dir, '.aclocal-paths')
|
64
64
|
|
65
65
|
Open.read(File.join opt_dir, '.java-classpaths').split(/\n/).each do |line|
|
66
66
|
Misc.env_add('CLASSPATH', "#{File.join(opt_dir,'java', 'lib', line.chomp)}")
|
67
|
-
end if File.
|
67
|
+
end if File.exist? File.join(opt_dir, '.java-classpaths')
|
68
68
|
|
69
69
|
Dir.glob(File.join opt_dir, 'jars', '*').each do |file|
|
70
70
|
Misc.env_add('CLASSPATH', "#{File.expand_path(file)}")
|
71
71
|
end
|
72
72
|
|
73
|
-
if File.
|
73
|
+
if File.exist?(File.join(opt_dir, '.post_install')) and File.directory?(File.join(opt_dir, '.post_install'))
|
74
74
|
Dir.glob(File.join(opt_dir, '.post_install','*')).each do |file|
|
75
75
|
begin
|
76
76
|
begin
|
@@ -250,12 +250,16 @@ class WorkflowRESTClient
|
|
250
250
|
sin.write c
|
251
251
|
end
|
252
252
|
|
253
|
-
post_thread = Thread.new do
|
253
|
+
post_thread = Thread.new(Thread.current) do |parent|
|
254
254
|
bl = lambda do |rok|
|
255
|
-
|
256
|
-
|
255
|
+
if Net::HTTPOK === rok
|
256
|
+
rok.read_body do |c,_a, _b|
|
257
|
+
sin.write c
|
258
|
+
end
|
259
|
+
sin.close
|
260
|
+
else
|
261
|
+
parent.raise "Error in RestClient: " << rok.message
|
257
262
|
end
|
258
|
-
sin.close
|
259
263
|
end
|
260
264
|
|
261
265
|
Log.debug{ "RestClient execute: #{ url } - #{Misc.fingerprint task_params}" }
|
data/lib/rbbt/tsv/attach.rb
CHANGED
@@ -9,7 +9,7 @@ module TSV
|
|
9
9
|
sep = options[:sep]
|
10
10
|
|
11
11
|
is = case
|
12
|
-
when (String === input and not input.index("\n") and input.length < 250 and File.
|
12
|
+
when (String === input and not input.index("\n") and input.length < 250 and File.exist?(input))
|
13
13
|
CMD.cmd("env LC_ALL=C sort -k1,1 -t'#{sep}' #{ input } | grep -v '^#{sep}' ", :pipe => true)
|
14
14
|
when (String === input or StringIO === input)
|
15
15
|
CMD.cmd("env LC_ALL=C sort -k1,1 -t'#{sep}' | grep -v '^#{sep}'", :in => input, :pipe => true)
|
@@ -68,7 +68,7 @@ module TSV
|
|
68
68
|
sep = options[:sep] || "\t"
|
69
69
|
|
70
70
|
case
|
71
|
-
when (String === file1 and not file1 =~ /\n/ and file1.length < 250 and File.
|
71
|
+
when (String === file1 and not file1 =~ /\n/ and file1.length < 250 and File.exist?(file1))
|
72
72
|
size = CMD.cmd("wc -c '#{file1}'").read.to_f if monitor
|
73
73
|
file1 = CMD.cmd("env LC_ALL=C sort -k1,1 -t'#{sep}' #{ file1 } | grep -v '^#{sep}' ", :pipe => true)
|
74
74
|
when (String === file1 or StringIO === file1)
|
@@ -80,7 +80,7 @@ module TSV
|
|
80
80
|
end
|
81
81
|
|
82
82
|
case
|
83
|
-
when (String === file2 and not file2 =~ /\n/ and file2.length < 250 and File.
|
83
|
+
when (String === file2 and not file2 =~ /\n/ and file2.length < 250 and File.exist?(file2))
|
84
84
|
file2 = CMD.cmd("env LC_ALL=C sort -k1,1 -t'#{sep}' #{ file2 } | grep -v '^#{sep}' ", :pipe => true)
|
85
85
|
when (String === file2 or StringIO === file2)
|
86
86
|
file2 = CMD.cmd("env LC_ALL=C sort -k1,1 -t'#{sep}' | grep -v '^#{sep}'", :in => file2, :pipe => true)
|
@@ -174,6 +174,23 @@ module TSV
|
|
174
174
|
CMD.cmd("paste #{ files.collect{|f| "'#{f}'"} * " "} -d'#{delim}' |sed 's/#{delim}[^\\t]*//g'", :pipe => true)
|
175
175
|
end
|
176
176
|
|
177
|
+
def merge_different_fields(other, options = {})
|
178
|
+
TmpFile.with_file do |output|
|
179
|
+
TSV.merge_different_fields(self, other, output, options)
|
180
|
+
tsv = TSV.open output, options
|
181
|
+
tsv.key_field = self.key_field unless self.key_field.nil?
|
182
|
+
tsv.fields = self.fields + other.fields unless self.fields.nil? or other.fields.nil?
|
183
|
+
tsv
|
184
|
+
end
|
185
|
+
end
|
186
|
+
|
187
|
+
def merge_zip(other)
|
188
|
+
other.each do |k,v|
|
189
|
+
self.zip_new k, v
|
190
|
+
end
|
191
|
+
end
|
192
|
+
|
193
|
+
|
177
194
|
def attach(other, options = {})
|
178
195
|
options = Misc.add_defaults options, :in_namespace => false, :persist_input => true
|
179
196
|
fields, one2one, complete = Misc.process_options options, :fields, :one2one, :complete
|
@@ -257,20 +274,5 @@ module TSV
|
|
257
274
|
self.fields.each_with_index{|field,i| detached_fields << i if file_fields.include? field.fullname}
|
258
275
|
reorder :key, detached_fields
|
259
276
|
end
|
260
|
-
|
261
|
-
def merge_different_fields(other, options = {})
|
262
|
-
TmpFile.with_file do |output|
|
263
|
-
TSV.merge_different_fields(self, other, output, options)
|
264
|
-
tsv = TSV.open output, options
|
265
|
-
tsv.key_field = self.key_field unless self.key_field.nil?
|
266
|
-
tsv.fields = self.fields + other.fields unless self.fields.nil? or other.fields.nil?
|
267
|
-
tsv
|
268
|
-
end
|
269
|
-
end
|
270
|
-
|
271
|
-
def merge_zip(other)
|
272
|
-
other.each do |k,v|
|
273
|
-
self.zip_new k, v
|
274
|
-
end
|
275
|
-
end
|
277
|
+
|
276
278
|
end
|