[ARVADOS] updated: c41beef3142e9c3e15385b2ad76c2a0088ca6a20
git at public.curoverse.com
git at public.curoverse.com
Thu Feb 13 14:17:05 EST 2014
Summary of changes:
apps/workbench/app/helpers/provenance_helper.rb | 95 +++++++++++------------
1 files changed, 47 insertions(+), 48 deletions(-)
via c41beef3142e9c3e15385b2ad76c2a0088ca6a20 (commit)
from ed79eef62219259ef98dcdc8886d1a7132531075 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit c41beef3142e9c3e15385b2ad76c2a0088ca6a20
Author: Tom Clegg <tom at curoverse.com>
Date: Thu Feb 13 11:16:53 2014 -0800
Fix crash when a script_parameter value is a Fixnum. fixes #2167
diff --git a/apps/workbench/app/helpers/provenance_helper.rb b/apps/workbench/app/helpers/provenance_helper.rb
index ae4d251..6d6ae55 100644
--- a/apps/workbench/app/helpers/provenance_helper.rb
+++ b/apps/workbench/app/helpers/provenance_helper.rb
@@ -111,46 +111,45 @@ module ProvenanceHelper
def script_param_edges(job, prefix, sp)
gr = ""
- if sp and not sp.empty?
- case sp
- when Hash
- sp.each do |k, v|
- if prefix.size > 0
- k = prefix + "::" + k.to_s
- end
- gr += script_param_edges(job, k.to_s, v)
- end
- when Array
- i = 0
- node = ""
- sp.each do |v|
- if GenerateGraph::collection_uuid(v)
- gr += script_param_edges(job, "#{prefix}[#{i}]", v)
- elsif @opts[:all_script_parameters]
- node += "', '" unless node == ""
- node = "['" if node == ""
- node += "#{v}"
- end
- i += 1
- end
- unless node == ""
- node += "']"
- #puts node
- #id = "#{job[:uuid]}_#{prefix}"
- gr += "\"#{node}\" [label=\"#{node}\"];\n"
- gr += edge(job_uuid(job), node, {:label => prefix})
+ case sp
+ when Hash
+ sp.each do |k, v|
+ if prefix.size > 0
+ k = prefix + "::" + k.to_s
end
- else
- m = GenerateGraph::collection_uuid(sp)
- #puts "#{m} pdata is #{@pdata[m.intern]}"
- if m and (@pdata[m.intern] or (not @opts[:pdata_only]))
- gr += edge(job_uuid(job), m, {:label => prefix})
- gr += generate_provenance_edges(m)
+ gr += script_param_edges(job, k.to_s, v)
+ end
+ when Array
+ i = 0
+ node = ""
+ sp.each do |v|
+ if GenerateGraph::collection_uuid(v)
+ gr += script_param_edges(job, "#{prefix}[#{i}]", v)
elsif @opts[:all_script_parameters]
- #id = "#{job[:uuid]}_#{prefix}"
- gr += "\"#{sp}\" [label=\"#{sp}\"];\n"
- gr += edge(job_uuid(job), sp, {:label => prefix})
+ node += "', '" unless node == ""
+ node = "['" if node == ""
+ node += "#{v}"
end
+ i += 1
+ end
+ unless node == ""
+ node += "']"
+ #puts node
+ #id = "#{job[:uuid]}_#{prefix}"
+ gr += "\"#{node}\" [label=\"#{node}\"];\n"
+ gr += edge(job_uuid(job), node, {:label => prefix})
+ end
+ when String
+ return '' if sp.empty?
+ m = GenerateGraph::collection_uuid(sp)
+ #puts "#{m} pdata is #{@pdata[m.intern]}"
+ if m and (@pdata[m.intern] or (not @opts[:pdata_only]))
+ gr += edge(job_uuid(job), m, {:label => prefix})
+ gr += generate_provenance_edges(m)
+ elsif @opts[:all_script_parameters]
+ #id = "#{job[:uuid]}_#{prefix}"
+ gr += "\"#{sp}\" [label=\"#{sp}\"];\n"
+ gr += edge(job_uuid(job), sp, {:label => prefix})
end
end
gr
@@ -309,17 +308,17 @@ edge [fontsize=10];
def self.find_collections(sp)
c = []
- if sp and not sp.empty?
- case sp
- when Hash
- sp.each do |k, v|
- c.concat(find_collections(v))
- end
- when Array
- sp.each do |v|
- c.concat(find_collections(v))
- end
- else
+ case sp
+ when Hash
+ sp.each do |k, v|
+ c.concat(find_collections(v))
+ end
+ when Array
+ sp.each do |v|
+ c.concat(find_collections(v))
+ end
+ when String
+ if !sp.empty?
m = GenerateGraph::collection_uuid(sp)
if m
c << m
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list