~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/transport/http/__init__.py

  • Committer: Patch Queue Manager
  • Date: 2012-09-17 09:38:30 UTC
  • mfrom: (6559.1.1 extract-auth-obsolete)
  • Revision ID: pqm@pqm.ubuntu.com-20120917093830-1o8asgkr9jd62yyd
(vila) Remove obsolete (and not used anymore) code and its associated tests
 (covered by other tests in test_http.py). (Vincent Ladeuil)

Show diffs side-by-side

added added

removed removed

Lines of Context:
40
40
    ConnectedTransport,
41
41
    )
42
42
 
43
 
# TODO: This is not used anymore by HttpTransport_urllib
44
 
# (extracting the auth info and prompting the user for a password
45
 
# have been split), only the tests still use it. It should be
46
 
# deleted and the tests rewritten ASAP to stay in sync.
47
 
def extract_auth(url, password_manager):
48
 
    """Extract auth parameters from am HTTP/HTTPS url and add them to the given
49
 
    password manager.  Return the url, minus those auth parameters (which
50
 
    confuse urllib2).
51
 
    """
52
 
    if not re.match(r'^(https?)(\+\w+)?://', url):
53
 
        raise ValueError(
54
 
            'invalid absolute url %r' % (url,))
55
 
    scheme, netloc, path, query, fragment = urlparse.urlsplit(url)
56
 
 
57
 
    if '@' in netloc:
58
 
        auth, netloc = netloc.split('@', 1)
59
 
        if ':' in auth:
60
 
            username, password = auth.split(':', 1)
61
 
        else:
62
 
            username, password = auth, None
63
 
        if ':' in netloc:
64
 
            host = netloc.split(':', 1)[0]
65
 
        else:
66
 
            host = netloc
67
 
        username = urlutils.unquote(username)
68
 
        if password is not None:
69
 
            password = urlutils.unquote(password)
70
 
        else:
71
 
            password = ui.ui_factory.get_password(
72
 
                prompt=u'HTTP %(user)s@%(host)s password',
73
 
                user=username, host=host)
74
 
        password_manager.add_password(None, host, username, password)
75
 
    url = urlparse.urlunsplit((scheme, netloc, path, query, fragment))
76
 
    return url
77
 
 
78
43
 
79
44
class HttpTransportBase(ConnectedTransport):
80
45
    """Base class for http implementations.