code: def _parse_url(path):
      
  
      # path changes from bytes to Unicode in going from Python 2 to
      # Python 3.
      if sys.version_info[0] < 3:
          o = urlparse(urllib.parse.unquote_plus(path).decode('utf8'))
      else:
          o = urlparse(urllib.parse.unquote_plus(path))
  
      path = o.path
      args = {}
  
      # Convert parse_qs' str --> [str] dictionary to a str --> str
      # dictionary since we never use multi-value GET arguments
      # anyway.
      multiargs = parse_qs(o.query, keep_blank_values=True)
      for arg, value in list(multiargs.items()):
          args[arg] = value[0]
  
      return path, args
docs: Given a urlencoded path, returns the path and the dictionary of
      query arguments, all in Unicode.