X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/463aed42f5c21b7e347ad13f1ee110feaa7b85a0..c6a03a7abff947dc8242e8be18b4b5e6920a3e4a:/apps/workbench/app/helpers/provenance_helper.rb diff --git a/apps/workbench/app/helpers/provenance_helper.rb b/apps/workbench/app/helpers/provenance_helper.rb index e4ef470595..4faad99e6d 100644 --- a/apps/workbench/app/helpers/provenance_helper.rb +++ b/apps/workbench/app/helpers/provenance_helper.rb @@ -149,8 +149,9 @@ module ProvenanceHelper end unless node == "" node += "']" - gr += "\"#{node}\" [label=\"#{node}\"];\n" - gr += edge(job_uuid(job), node, {:label => prefix}) + node_value = encode_quotes node + gr += "\"#{node_value}\" [label=\"#{node_value}\"];\n" + gr += edge(job_uuid(job), node_value, {:label => prefix}) end when String return '' if sp.empty? @@ -159,8 +160,9 @@ module ProvenanceHelper gr += edge(job_uuid(job), m, {:label => prefix}) gr += generate_provenance_edges(m) elsif @opts[:all_script_parameters] - gr += "\"#{sp}\" [label=\"#{sp}\"];\n" - gr += edge(job_uuid(job), sp, {:label => prefix}) + sp_value = encode_quotes sp + gr += "\"#{sp_value}\" [label=\"#{sp_value}\"];\n" + gr += edge(job_uuid(job), sp_value, {:label => prefix}) end end gr @@ -263,6 +265,9 @@ module ProvenanceHelper gr end + def encode_quotes value + value.andand.gsub("\"", "\\\"") + end end def self.create_provenance_graph(pdata, svgId, opts={})