rbbt-util 5.5.32 → 5.5.33

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MmRkMzQwMzlmNjZkOTJiNTkwZThjNjRjNDRlZTkyYTRhNDk4MjJjZg==
4
+ ZWEwNDc0YzJmMjEzZTdmMDQzNTdiMzg0MTdiNWQ2OTA1ZTgzYTk3ZQ==
5
5
  data.tar.gz: !binary |-
6
- ZmM5ZmVkNmQ4YTVkN2E5MzM3YzQyZTA1NTQ1OTI3YWJkYTU4MWZmMQ==
6
+ MWMzNGU3YTA5MGJiMzkyZDNkOGUyZjYyOTE5YTM0ZDkwYWM2Yzc3MA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- Njc4YmFmY2MwMzRkMTE3N2E2YThmNmUwMWEyOTFjNDQ2NDFiZjUzM2QyZWE0
10
- ODFjY2QwMTY4MGZlYWIyMDdkMmRjMDQ2NDFmODJjNmVkNTM4MDY3MDAzN2Rm
11
- MWMzOTJmZGJjMGY0ZWIwNzE3YzAwYjE4Y2IyYTM0ZjVkNGQ5ZTQ=
9
+ MzMyM2RmMjRiMDkxMzIxMjQ0MmMxMjU4YWJmYTc4MThmNGJjOTZlZWI3YTNl
10
+ NGZjMGViMTFmOWRkN2FkYjIxODZlNjA1NmFhZGE3MTdhYmVmYzdiZmU2N2Ri
11
+ N2M2OGRkZTE1NmU3ODkyZWY2NjkyMmU2ZjlmZTJlN2UwMTk0ZGE=
12
12
  data.tar.gz: !binary |-
13
- MWQxOGUwYTliMjFhODkwZGE0NTk1NTRmNjExOTIzMDEzM2UzMDJiZjE5OGI2
14
- ZDQ0ZjBkMGI4NGY2MDgxY2NlMjkxOWNkNTA4ZGRmYzE3ZWRiNDA0ODY4ZGUz
15
- NzNkNzk5NGE2MTgzOTc1M2U4NDI5MTBhM2YwOGY5YTYyOTJmZDk=
13
+ OGQ3MTI4Yzc2NjIzNjQ1NjFmNjI4YWUxMzZlOTViMWU0NWZmOWU5ZjQ1MWJi
14
+ ZjBkOWRiYjg4YWZkNmNmNGVmYTBmZDdmMGMwNmZiOTJmMDE0MDY0YzRmOTE0
15
+ Njc0N2FmZmMxZDQ0ODZjYzliYzFkZWIyNWFjY2VlYWY5YzMxM2I=
data/bin/rbbt_exec.rb CHANGED
@@ -1,6 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
-
4
3
  code_file = ARGV[0]
5
4
  output = ARGV[1]
6
5
 
data/etc/app.d/base.rb CHANGED
@@ -1,11 +1,14 @@
1
1
  #{{{ MODULES AND HELPERS
2
+
2
3
  register Sinatra::RbbtRESTWorkflow
4
+
3
5
  if Rbbt.etc.workflows.find.exists?
4
6
  Rbbt.etc.workflows.find.read.split("\n").each do |workflow|
5
7
  Workflow.require_workflow workflow
6
8
  add_workflow Kernel.const_get(workflow), true
7
9
  end
8
10
  end
11
+
9
12
  register Sinatra::RbbtRESTMain
10
13
  register Sinatra::RbbtRESTEntity
11
14
  register Sinatra::RbbtRESTFileServer # Remove to prevent serving files
@@ -13,6 +16,7 @@ register Sinatra::RbbtRESTKnowledgeBase
13
16
  helpers Sinatra::RbbtMiscHelpers
14
17
 
15
18
  #{{{ SESSIONS
19
+
16
20
  use Rack::Session::Cookie, :key => 'rack.session',
17
21
  :path => '/',
18
22
  :expire_after => 2592000,
data/share/config.ru CHANGED
@@ -1,6 +1,6 @@
1
+ require 'rbbt'
1
2
  require 'rbbt/resource'
2
3
 
3
- require 'rbbt'
4
4
  load Rbbt.etc['app.d/init.rb'].find
5
5
 
6
6
  $class_name = class_name = File.basename(FileUtils.pwd)
@@ -9,16 +9,16 @@ $app = app = eval "class #{class_name} < Sinatra::Base; self end"
9
9
 
10
10
  $LOAD_PATH.unshift('lib')
11
11
 
12
- #{{{ POST
12
+ #{{{ PRE
13
13
  Log.info{"Loading: " << Rbbt.etc['app.d/pre.rb'].find if Rbbt.etc['app.d/pre.rb'].exists?}
14
14
  load Rbbt.etc['app.d/pre.rb'].find if Rbbt.etc['app.d/pre.rb'].exists?
15
15
 
16
+ #{{{ BASE
16
17
  app.class_eval do
17
18
  Log.info{"Loading: " << Rbbt.etc['app.d/base.rb'].find}
18
19
  eval Rbbt.etc['app.d/base.rb'].read, nil, Rbbt.etc['app.d/base.rb'].find
19
20
  end
20
21
 
21
-
22
22
  #{{{ RESOURCES
23
23
  Log.info{"Loading: " << Rbbt.etc['app.d/resources.rb'].find}
24
24
  load Rbbt.etc['app.d/resources.rb'].find
@@ -0,0 +1,66 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rbbt'
4
+ require 'rbbt/resource'
5
+ require 'rbbt-util'
6
+ require 'rbbt/util/simpleopt'
7
+
8
+ options = SOPT.get "-e--environment*:-p--port*:-s--server*:-h--host*:-f--finder"
9
+ options[:Port] ||= options[:port]
10
+
11
+ file = ARGV.shift
12
+
13
+ load Rbbt.etc['app.d/init.rb'].find
14
+
15
+ $class_name = class_name = "SingleTemplate"
16
+
17
+ $app = app = eval "class #{class_name} < Sinatra::Base; self end"
18
+
19
+ #$LOAD_PATH.unshift('lib')
20
+
21
+ #{{{ PRE
22
+ Log.info{"Loading: " << Rbbt.etc['app.d/pre.rb'].find if Rbbt.etc['app.d/pre.rb'].exists?}
23
+ load Rbbt.etc['app.d/pre.rb'].find if Rbbt.etc['app.d/pre.rb'].exists?
24
+
25
+ app.get '/' do
26
+ file = file.sub(/\.haml/,'')
27
+ template_render(file)
28
+ end
29
+
30
+ #{{{ BASE
31
+ app.class_eval do
32
+ Log.info{"Loading: " << Rbbt.etc['app.d/base.rb'].find}
33
+ eval Rbbt.etc['app.d/base.rb'].read, nil, Rbbt.etc['app.d/base.rb'].find
34
+ end
35
+
36
+ #{{{ RESOURCES
37
+ Log.info{"Loading: " << Rbbt.etc['app.d/resources.rb'].find}
38
+ load Rbbt.etc['app.d/resources.rb'].find
39
+
40
+ #{{{ ENTITIES
41
+ Log.info{"Loading: " << Rbbt.etc['app.d/entities.rb'].find}
42
+ load Rbbt.etc['app.d/entities.rb'].find
43
+
44
+ #{{{ FINDER
45
+ app.class_eval do
46
+ Log.info{"Loading: " << Rbbt.etc['app.d/finder.rb'].find}
47
+ eval Rbbt.etc['app.d/finder.rb'].read
48
+ end
49
+
50
+ #{{{ POST
51
+ Log.info{"Loading: " << Rbbt.etc['app.d/post.rb'].find if Rbbt.etc['app.d/post.rb'].exists?}
52
+ load Rbbt.etc['app.d/post.rb'].find if Rbbt.etc['app.d/post.rb'].exists?
53
+
54
+ #{{{ RUN
55
+ $title = class_name
56
+ require 'rack'
57
+
58
+ ENV["RBBT_FINDER"] = "true" if options.include?(:finder)
59
+ ENV["RACK_ENV"] = options[:environment] if options.include?(:environment)
60
+
61
+ RbbtRESTHelpers.template_resources.unshift Path.setup(File.expand_path(File.dirname(file)))
62
+
63
+ app.port = options[:port] if options[:port]
64
+ app.server = options[:server] if options[:server]
65
+ app.environment = options[:environment] if options[:environment]
66
+ app.run!
@@ -3,20 +3,26 @@
3
3
  require 'rbbt-util'
4
4
  require 'rbbt/util/simpleopt'
5
5
 
6
+ options = SOPT.get("-tc--tokyocabinet")
6
7
 
7
8
  file = ARGV.shift
8
9
 
9
- header = TSV.parse_header(Open.open(file))
10
+ if options[:tokyocabinet]
11
+ tsv = Persist.open_tokyocabinet(file, false)
12
+ puts tsv.summary
13
+ else
14
+ header = TSV.parse_header(Open.open(file))
10
15
 
11
- puts "File: #{ file }"
12
- puts "Key: #{header.key_field}"
13
- puts "Fields: "
14
- header.fields.each_with_index do |f,i|
15
- puts " - #{i + 1}: " << f
16
+ puts "File: #{ file }"
17
+ puts "Key: #{header.key_field}"
18
+ puts "Fields: "
19
+ header.fields.each_with_index do |f,i|
20
+ puts " - #{i + 1}: " << f
21
+ end
22
+ puts "Rows: #{`wc -l #{ file }|cut -f 1 -d' '`}"
23
+ puts "First line:"
24
+ parts = []
25
+ header.first_line.split(header.sep).each_with_index{|p,i| parts << "(#{i}) #{p}"}
26
+ puts parts * "\t"
16
27
  end
17
- puts "Rows: #{`wc -l #{ file }|cut -f 1 -d' '`}"
18
- puts "First line:"
19
- parts = []
20
- header.first_line.split(header.sep).each_with_index{|p,i| parts << "(#{i}) #{p}"}
21
- puts parts * "\t"
22
28
 
@@ -8,7 +8,6 @@ require 'rbbt/util/misc'
8
8
 
9
9
  options = SOPT.get("-l--list:-z--zombies:-e--errors:-c--clean:-n--name:-a--all:-w--wipe:-f--file*:-q--quick")
10
10
 
11
-
12
11
  YAML::ENGINE.yamler = 'syck' if defined? YAML::ENGINE and YAML::ENGINE.respond_to? :yamler
13
12
 
14
13
  def info_files
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbbt-util
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.5.32
4
+ version: 5.5.33
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Vazquez
@@ -69,13 +69,9 @@ dependencies:
69
69
  description: Utilities for handling tsv files, caches, etc
70
70
  email: miguel.vazquez@cnio.es
71
71
  executables:
72
- - tsv.rb
73
- - tchash.rb
74
- - run_workflow.rb
75
72
  - rbbt_query.rb
76
73
  - rbbt_exec.rb
77
74
  - rbbt_Rutil.rb
78
- - rbbt_monitor.rb
79
75
  - rbbt
80
76
  - rbbt_dangling_locks.rb
81
77
  extensions: []
@@ -89,11 +85,7 @@ files:
89
85
  - bin/rbbt_Rutil.rb
90
86
  - bin/rbbt_dangling_locks.rb
91
87
  - bin/rbbt_exec.rb
92
- - bin/rbbt_monitor.rb
93
88
  - bin/rbbt_query.rb
94
- - bin/run_workflow.rb
95
- - bin/tchash.rb
96
- - bin/tsv.rb
97
89
  - etc/app.d/base.rb
98
90
  - etc/app.d/entities.rb
99
91
  - etc/app.d/finder.rb
@@ -158,6 +150,7 @@ files:
158
150
  - share/install/software/lib/install_helpers
159
151
  - share/rbbt_commands/app/install
160
152
  - share/rbbt_commands/app/start
153
+ - share/rbbt_commands/app/template
161
154
  - share/rbbt_commands/conf/web_user/add
162
155
  - share/rbbt_commands/conf/web_user/list
163
156
  - share/rbbt_commands/conf/web_user/remove
@@ -170,6 +163,7 @@ files:
170
163
  - share/rbbt_commands/tsv/info
171
164
  - share/rbbt_commands/workflow/cmd
172
165
  - share/rbbt_commands/workflow/install
166
+ - share/rbbt_commands/workflow/monitor
173
167
  - share/rbbt_commands/workflow/remote/add
174
168
  - share/rbbt_commands/workflow/remote/list
175
169
  - share/rbbt_commands/workflow/remote/remove
data/bin/run_workflow.rb DELETED
@@ -1,240 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'rbbt'
4
- require 'rbbt/util/simpleopt'
5
- require 'rbbt/workflow'
6
- require 'pp'
7
-
8
- def usage(task)
9
- puts task.usage
10
- exit -1
11
- end
12
-
13
- def SOPT_options(workflow, task)
14
- sopt_options = []
15
- workflow.rec_inputs(task.name).each do |name|
16
- short = name.to_s.chars.first
17
- boolean = workflow.rec_input_types(task.name)[name].to_sym == :boolean
18
-
19
- sopt_options << "-#{short}--#{name}#{boolean ? '' : '*'}"
20
- end
21
-
22
- sopt_options * ":"
23
- end
24
-
25
- def fix_options(workflow, task, job_options)
26
- option_types = workflow.rec_input_types(task.name)
27
-
28
- #workflow.resolve_locals(job_options)
29
-
30
- job_options_cleaned = {}
31
-
32
- job_options.each do |name, value|
33
- value = case option_types[name].to_sym
34
- when :float
35
- value.to_f
36
- when :integer
37
- value.to_i
38
- when :string, :text
39
- case
40
- when value == '-'
41
- STDIN.read
42
- when (String === value and File.exists?(value))
43
- Open.read(value)
44
- else
45
- value
46
- end
47
- when :array
48
- if Array === value
49
- value
50
- else
51
- case
52
- when value == '-'
53
- STDIN.read
54
- when (String === value and File.exists?(value))
55
- Open.read(value)
56
- else
57
- value
58
- end.split(/[,|\s]/)
59
- end
60
- when :tsv
61
- if TSV === value
62
- value
63
- else
64
- begin
65
- if value == '-'
66
- TSV.open(STDIN).to_s :sort
67
- else
68
- TSV.new(value).to_s :sort
69
- end
70
- rescue
71
- value
72
- end
73
- end
74
- else
75
- value
76
- end
77
- job_options_cleaned[name] = value
78
- end
79
-
80
- job_options_cleaned
81
- end
82
-
83
- options = SOPT.get "-t--task*:--profile:-l--log*:-h--help:-n--name*:-cl--clean:-rcl-recursive_clean:-pn--printname:-srv--server:-p--port*"
84
-
85
- workflow = ARGV.first
86
-
87
- if options[:server]
88
-
89
- require 'zurb-foundation'
90
- require 'modular-scale'
91
-
92
- require 'rbbt/rest/main'
93
- require 'rbbt/rest/entity'
94
- require 'rbbt/rest/workflow'
95
- require 'rbbt/rest/file_server'
96
- require 'rbbt/rest/helpers'
97
-
98
- YAML::ENGINE.yamler = 'syck' if defined? YAML::ENGINE and YAML::ENGINE.respond_to? :yamler
99
-
100
- Workflow.require_workflow workflow
101
-
102
- class WorkflowRest < Sinatra::Base
103
- get '/' do
104
- redirect to(File.join('/', Workflow.workflows.last.to_s))
105
- end
106
- end
107
-
108
- if options[:profile]
109
- WorkflowRest.before File.join('/', Workflow.workflows.last.to_s, '*') do
110
- @profile = true
111
- end
112
- end
113
-
114
- class WorkflowRest < Sinatra::Base
115
-
116
- #{{{ MODULES AND HELPERS
117
- register Sinatra::RbbtRESTMain
118
- register Sinatra::RbbtRESTWorkflow
119
- register Sinatra::RbbtRESTEntity
120
- helpers Sinatra::RbbtMiscHelpers
121
-
122
- #{{{ DIRECTORIES
123
- local_var = Rbbt.var.find(:lib)
124
- set :cache_dir , local_var.sinatra.cache.find
125
- set :file_dir , local_var.sinatra.files.find
126
- set :favourites_dir , local_var.sinatra.favourites.find
127
- set :favourite_lists_dir , local_var.sinatra.favourite_lists
128
-
129
- #{{{ SESSIONS
130
- use Rack::Session::Cookie, :key => 'rack.session',
131
- :path => '/',
132
- :expire_after => 2592000,
133
- :secret => "Workflow #{Workflow.workflows.inspect} secret!!"
134
-
135
- #{{{ FOUNDATION RESOURCES
136
- add_sass_load_path "#{Gem.loaded_specs['compass'].full_gem_path}/frameworks/compass/stylesheets"
137
- add_sass_load_path "#{Gem.loaded_specs['zurb-foundation'].full_gem_path}/scss/"
138
- add_sass_load_path "#{Gem.loaded_specs['modular-scale'].full_gem_path}/stylesheets/"
139
- RbbtRESTHelpers.javascript_resources << Path.setup("#{Gem.loaded_specs['zurb-foundation'].full_gem_path}/js/foundation")
140
- RbbtRESTHelpers.javascript_resources << Path.setup("#{Gem.loaded_specs['zurb-foundation'].full_gem_path}/js/vendor")
141
-
142
- $title = "Workflow Scout"
143
- use Rack::Deflater
144
- end
145
-
146
- WorkflowRest.add_workflow Workflow.workflows.last, true
147
-
148
- WorkflowRest.port = options[:port] || 4567
149
- WorkflowRest.run!
150
- else
151
-
152
- # Set log, fork, clean, recursive_clean and help
153
- Log.severity = options[:log].to_i if options.include? :log
154
- help = !!options.delete(:help)
155
- do_fork = !!options.delete(:fork)
156
- clean = !!options.delete(:clean)
157
- recursive_clean = !!options.delete(:recursive_clean)
158
-
159
-
160
- # Get workflow
161
-
162
- if Rbbt.etc.remote_workflows.exists?
163
- remote_workflows = Rbbt.etc.remote_workflows.yaml
164
- else
165
- remote_workflows = {}
166
- end
167
-
168
- if remote_workflows.include? workflow
169
- require 'rbbt/workflow/rest/client'
170
- workflow = RbbtRestClient.new remote_workflows[workflow], workflow
171
- else
172
- Workflow.require_workflow workflow
173
- workflow = Workflow.workflows.last
174
- end
175
-
176
- # Set task
177
- namespace, task = nil, nil
178
-
179
- case
180
- when (not options[:task])
181
- usage if help
182
- task = workflow.last_task
183
- namespace = workflow
184
- when (options[:task] =~ /\./)
185
- namespace, task = options.delete(:task).split('.')
186
- namespace = Misc.string2const(namespace)
187
- else
188
- task_name = options.delete(:task).to_sym
189
- task = workflow.tasks[task_name]
190
- raise "Task not found: #{ task_name }" if task.nil?
191
- end
192
-
193
-
194
- workflow.usage(task) if help
195
-
196
- name = options.delete(:name) || "Default"
197
-
198
- # get job args
199
- sopt_option_string = SOPT_options(workflow,task)
200
- job_options = SOPT.get sopt_option_string
201
- job_options = fix_options(workflow,task, job_options)
202
-
203
- #- get job
204
- job = workflow.job(task.name, name, job_options)
205
-
206
- # clean job
207
- job.clean if clean
208
- job.recursive_clean if recursive_clean
209
-
210
- # run
211
- if do_fork
212
- job.fork
213
- while not job.done?
214
- Log.debug "#{job.step}: #{job.messages.last}"
215
- sleep 2
216
- end
217
- raise job.messages.last if job.error?
218
- res = job.load
219
- else
220
- res = job.run
221
- end
222
-
223
- if options.delete(:printname)
224
- puts job.name
225
- exit
226
- else
227
- Log.low "Job name: #{job.name}"
228
- end
229
-
230
- case
231
- when Array === res
232
- puts res * "\n"
233
- when TSV === res
234
- puts res
235
- when Hash === res
236
- puts res.to_yaml
237
- else
238
- puts res
239
- end
240
- end
data/bin/tchash.rb DELETED
@@ -1,15 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'rbbt-util'
4
- require 'rbbt/util/simpleopt'
5
-
6
- options = SOPT.parse "-h--help"
7
-
8
- command = ARGV.shift
9
- file = ARGV.shift
10
-
11
- case command
12
- when 'cat'
13
- puts TSV.new(TCHash.get(file))
14
- end
15
-
data/bin/tsv.rb DELETED
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'rbbt/util/simpleopt'
4
-
5
- options = SOPT.get "-h--help:-to--tsv-options*:-p--persistence"
6
-
7
- command = ARGV.shift
8
- file = ARGV.shift
9
-
10
- case command
11
- when 'cat'
12
- puts TSV.new(file, options["tsv-options"].merge(options["persistence"]))
13
- when
14
-