code: def do_urlencode(value):
      
      itemiter = None
      if isinstance(value, dict):
          itemiter = iteritems(value)
      elif not isinstance(value, string_types):
          try:
              itemiter = iter(value)
          except TypeError:
              pass
      if itemiter is None:
          return unicode_urlencode(value)
      return u'&'.join(unicode_urlencode(k) + '=' +
                       unicode_urlencode(v, for_qs=True)
                       for k, v in itemiter)
docs: Escape strings for use in URLs (uses UTF-8 encoding).  It accepts both
      dictionaries and regular strings as well as pairwise iterables.
  
      .. versionadded:: 2.7