107 p = prefix.split('://', 1) |
107 p = prefix.split('://', 1) |
108 if len(p) > 1: |
108 if len(p) > 1: |
109 schemes, prefix = [p[0]], p[1] |
109 schemes, prefix = [p[0]], p[1] |
110 else: |
110 else: |
111 schemes = (auth.get('schemes') or 'https').split() |
111 schemes = (auth.get('schemes') or 'https').split() |
112 if (prefix == '*' or hostpath.startswith(prefix)) and \ |
112 if ((prefix == '*' or hostpath.startswith(prefix)) and |
113 (len(prefix) > bestlen or (len(prefix) == bestlen and \ |
113 (len(prefix) > bestlen or (len(prefix) == bestlen and |
114 not bestuser and 'username' in auth)) \ |
114 not bestuser and 'username' in auth)) |
115 and scheme in schemes: |
115 and scheme in schemes): |
116 bestlen = len(prefix) |
116 bestlen = len(prefix) |
117 bestauth = group, auth |
117 bestauth = group, auth |
118 bestuser = auth.get('username') |
118 bestuser = auth.get('username') |
119 if user and not bestuser: |
119 if user and not bestuser: |
120 auth['username'] = user |
120 auth['username'] = user |