File: encode_url_queries_for_python.rb

package info (click to toggle)
puppet-module-nova 25.0.0-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 4,100 kB
  • sloc: ruby: 11,433; python: 38; sh: 10; makefile: 10
file content (19 lines) | stat: -rw-r--r-- 545 bytes parent folder | download
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