user, password = urllib.splitpasswd(user)
host, port = urllib.splitport(host)
if port: port = int(port)
- path, tag = urllib.splittag(path)
- path, query = urllib.splitquery(path)
- path = urllib.unquote(path)
- if tag: tag = urllib.unquote_plus(tag)
-
- if host: # host can be None for Mozilla's place: URLs
- host = host.decode(parser_charset or 'utf-8').encode('idna')
href = protocol + "://"
if user:
href += ':' + urllib.quote(password)
href += '@'
if host:
- href += host
+ href += host.decode(parser_charset or 'utf-8').encode('idna')
if port:
href += ':%d' % port
if path:
- if protocol == "file":
- href += urllib.quote(path)
- else:
- href += urllib.quote(path)
- if query:
- href += '?' + query
- if tag:
- href += '#' + urllib.quote_plus(tag)
+ href += path
self.href = href
self.add_date = add_date