'Decodes the netloc part into a string.'

def decode_netloc(self):

    rv = _decode_idna((self.host or ''))
    if (':' in rv):
        rv = ('[%s]' % rv)
    port = self.port
    if (port is not None):
        rv = ('%s:%d' % (rv, port))
    auth = ':'.join(filter(None, [_url_unquote_legacy((self.raw_username or ''), '/:%@'), _url_unquote_legacy((self.raw_password or ''), '/:%@')]))
    if auth:
        rv = ('%s@%s' % (auth, rv))
    return rv
