projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
closes #4523
[arvados.git]
/
services
/
api
/
app
/
models
/
collection.rb
diff --git
a/services/api/app/models/collection.rb
b/services/api/app/models/collection.rb
index 423555b59fd6412349fc052285cae3b8cf642024..8258d1f53cd5a39495b2a30493492f3a416807c7 100644
(file)
--- a/
services/api/app/models/collection.rb
+++ b/
services/api/app/models/collection.rb
@@
-129,19
+129,27
@@
class Collection < ArvadosModel
def set_file_names
if self.manifest_text_changed?
def set_file_names
if self.manifest_text_changed?
- self.file_names =
Collection.manifest_files self.manifest_text
+ self.file_names =
manifest_files
end
true
end
end
true
end
- def
self.manifest_files manifest_text
+ def
manifest_files
names = ''
names = ''
- if manifest_text
- manifest_text.scan(/ \d+:\d+:(\S+)/) do |name|
- names << name.first.gsub('\040',' ') + "\n"
+ if
self.
manifest_text
+
self.
manifest_text.scan(/ \d+:\d+:(\S+)/) do |name|
+ names << name.first.gsub('\040',' ') + "\n"
break if names.length > 2**13
end
end
break if names.length > 2**13
end
end
+
+ if self.manifest_text and names.length < 2**13
+ self.manifest_text.scan(/^\.\/(\S+)/m) do |stream_name|
+ names << stream_name.first.gsub('\040',' ') + "\n"
+ break if names.length > 2**13
+ end
+ end
+
names[0,2**13]
end
names[0,2**13]
end
@@
-288,6
+296,10
@@
class Collection < ArvadosModel
find_all_for_docker_image(search_term, search_tag, readers).first
end
find_all_for_docker_image(search_term, search_tag, readers).first
end
+ def self.searchable_columns operator
+ super - ["manifest_text"]
+ end
+
protected
def portable_manifest_text
portable_manifest = self[:manifest_text].dup
protected
def portable_manifest_text
portable_manifest = self[:manifest_text].dup