puppet-nova/lib/puppet/functions/encode_url_queries_for_pyth...

20 lines
510 B
Ruby

Puppet::Functions.create_function(:encode_url_queries_for_python) do
def encode_url_queries_for_python(*args)
require 'uri'
if (args.size != 1) then
raise Puppet::ParseError, 'encode_url_queries_for_python(): Wrong number of arguments'
end
queries = args[0]
if list.class != Hash
raise Puppet::ParseError, "Syntax error: #{args[0]} is not a Hash"
end
if queries.empty?
return ''
end
return '?' + URI.encode_www_form(queries).gsub(/%/, '%%')
end
end