File: encode_url_queries_for_python.rb

package info (click to toggle)
puppet-module-nova 27.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,068 kB
  • sloc: ruby: 11,144; python: 33; makefile: 10; sh: 10
file content (19 lines) | stat: -rw-r--r-- 545 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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 queries.class != Hash
      raise Puppet::ParseError, "encode_url_queries_for_python(): Requires a Hash, got #{queries.class}"
    end

    if queries.empty?
      return ''
    end
    return '?' + URI.encode_www_form(queries).gsub(/%/, '%%')
  end
end