rbbt-rest 1.8.147 → 1.8.151

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
  SHA256:
3
- metadata.gz: b76870466fef5096fbc9e2a741acc69520b02a37130ebd811d929e265663f799
4
- data.tar.gz: 9048d091f9224f42b9ef15c78d53e79191496490f1357bfb8527aacdcaac53c5
3
+ metadata.gz: cd9278f880225799697df0bc7599a97d5463942604f3c6947e65c5450495e2ad
4
+ data.tar.gz: 3441f94e0dc3cbced78e4572d4d743d047d0be1dcd0728c5ebbf8c7bb0b8d74c
5
5
  SHA512:
6
- metadata.gz: 59741c8b3c9faf57bfa2831702320651472b148a16ea9db5dc13fe44ecc3e1f09000098e11d8da6b43b0ae7ebb2e28e9eb794a08ad0e02673e95ce1690222444
7
- data.tar.gz: 35670278102a53384f7f6bd56787c951bd4ac82d93382df72f13dd992d61e21658525be77695ccefdd0d9f992b69b25e5962db6fb4f999fe2ab405979eb4e080
6
+ metadata.gz: d8f1453f376b923caf6b7868462f877246614b9f051da579b55429d21ad2f2ad66ce7ad6bf99ee83dcfb20160611b983e7a6e02c477ba4501b4e0e5c112ec3b4
7
+ data.tar.gz: ac6c5d333a5f6b5cd41c78c014b8166d4c9f38b88297b40e89b66243bcadea5ba2896d639e5efb792b84e6562931af22498c384d14b938c36c878ad50d750f3a
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2010-2013 Miguel Vázquez García
1
+ Copyright (c) 2010-2022 Miguel Vázquez García
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/Rakefile CHANGED
@@ -21,6 +21,7 @@ begin
21
21
  gem.add_dependency('json')
22
22
  gem.add_dependency('haml')
23
23
  gem.add_dependency('rest-client')
24
+ gem.add_dependency('therubyracer')
24
25
  gem.add_dependency('sinatra-authorization')
25
26
  gem.add_dependency('sinatra-cross_origin')
26
27
  gem.add_dependency('sinatra-contrib')
@@ -4,6 +4,17 @@ require 'rbbt/rest/common/table'
4
4
 
5
5
  module RbbtRESTHelpers
6
6
 
7
+ def escape_url(url)
8
+ base, _sep, query = url.partition("?")
9
+ base = base.split("/").collect{|p| CGI.escape(p) }* "/"
10
+ if query && ! query.empty?
11
+ query = query.split("&").collect{|e| e.split("=").collect{|pe| CGI.escape(pe) } * "=" } * "&"
12
+ [base, query] * "?"
13
+ else
14
+ base
15
+ end
16
+ end
17
+
7
18
  MEMORY_CACHE = {}
8
19
 
9
20
  def old_cache(path, check)
@@ -164,15 +175,13 @@ module RbbtRESTHelpers
164
175
  list_id = "List of #{type} in table #{ @fragment }"
165
176
  list_id << " (#{ @filter })" if @filter
166
177
  Entity::List.save_list(type.to_s, list_id, list, user)
167
- header "Location", Entity::REST.entity_list_url(list_id, type)
168
- url = Entity::REST.entity_list_url(list_id, type)
178
+ url = Entity::REST.entity_list_url(list_id, type)
169
179
  url = url + '?_layout=false' unless @layout
170
- url = URI.encode(url)
180
+ url = escape_url(url)
171
181
  redirect to(url)
172
182
  when "map"
173
183
  raw_tsv, tsv_options = load_tsv(fragment_file)
174
184
  raw_tsv.unnamed = true
175
- Log.tsv raw_tsv
176
185
  tsv = tsv_process(raw_tsv)
177
186
 
178
187
  field = tsv.key_field
@@ -189,7 +198,7 @@ module RbbtRESTHelpers
189
198
  Entity::Map.save_map(type.to_s, column, map_id, tsv, user)
190
199
  url = Entity::REST.entity_map_url(map_id, type, column)
191
200
  url = url + '?_layout=false' unless @layout
192
- url = URI.encode(url)
201
+ url = escape_url(url)
193
202
  redirect to(url)
194
203
  when "excel"
195
204
  require 'rbbt/tsv/excel'
@@ -98,6 +98,8 @@ P-values
98
98
  P.values
99
99
  score
100
100
  scores
101
+ weight
102
+ weights
101
103
  ratio
102
104
  ratios
103
105
  t.value
@@ -113,7 +115,7 @@ size
113
115
  Matches
114
116
  Quality
115
117
  EOF
116
- ).split("\n")
118
+ ).split("\n").collect{|v| [v, v.upcase, v.downcase, Misc.humanize(v)] }.flatten
117
119
 
118
120
  def invalid?
119
121
  self == "NA" or self == "NaN"
@@ -326,6 +328,14 @@ module RbbtRESTHelpers
326
328
  end
327
329
 
328
330
  res = case options[:span]
331
+ when 'semicolon'
332
+ if Array === value
333
+ value.collect do |val|
334
+ val.split(";").collect{|v| "<span class='table_value'>#{v.to_s}</span>" } * ";"
335
+ end * ", "
336
+ else
337
+ value.split(";").collect{|v| "<span class='table_value'>#{v.to_s}</span>" } * ";"
338
+ end
329
339
  when true, "true", :true
330
340
  Array === value ? value.collect{|v| "<span class='table_value'>#{v.to_s}</span>"} * ", " : "<span class='table_value'>#{value}</span>"
331
341
  when :long, "long"
@@ -1,5 +1,9 @@
1
1
  module Sinatra
2
2
  module RbbtMiscHelpers
3
+ def job_url(job)
4
+ job_url = File.join("/", job.workflow.to_s, job.task_name.to_s, job.name)
5
+ end
6
+
3
7
  def param_file(name)
4
8
  name = name.to_s
5
9
  if @params[name + '__param_file']
@@ -143,7 +143,7 @@ module WorkflowRESTHelpers
143
143
  halt 200, job.load.to_json
144
144
  when :tsv
145
145
  content_type "text/tab-separated-values"
146
- job.path ? send_file(job.path) : halt(200, job.load.to_s)
146
+ job.path ? send_file(job.path, :filename => (params[:filename] || File.basename(job.path))) : halt(200, job.load.to_s)
147
147
  when :literal, :raw
148
148
  path = job.path
149
149
  mime = file_mimetype path
@@ -152,7 +152,7 @@ module WorkflowRESTHelpers
152
152
  if Open.remote? job.path
153
153
  Open.open(job.path, :nocache => true)
154
154
  elsif File.exists? job.path
155
- send_file(job.path)
155
+ send_file(job.path, :filename => (params[:filename] || File.basename(job.path)))
156
156
  else
157
157
  halt 200, job.load
158
158
  end
@@ -146,7 +146,7 @@ $cyan: rgba(50, 211, 255, 1)
146
146
  .status.started
147
147
  color: $cyan
148
148
  .status.dependencies
149
- color: $cyan
149
+ color: $yellow
150
150
  .status.done
151
151
  color: $green
152
152
  .status.error, .status.aborted
@@ -21,7 +21,6 @@ function format_page(num, size, field){
21
21
  if ( undefined !== size) parts.push(size)
22
22
  if ( undefined !== field) parts.push(field)
23
23
 
24
- console.log(parts.join("~"))
25
24
  return parts.join("~")
26
25
  }
27
26
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbbt-rest
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.147
4
+ version: 1.8.151
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Vazquez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-09-28 00:00:00.000000000 Z
11
+ date: 2022-07-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -122,6 +122,20 @@ dependencies:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: therubyracer
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
125
139
  - !ruby/object:Gem::Dependency
126
140
  name: sinatra-authorization
127
141
  requirement: !ruby/object:Gem::Requirement