- url = choice(locations)
- log.msg('Downloading %s' % url)
- parsed = urlparse(url)
- assert parsed[0] == "http", "Only HTTP is supported, not '%s'" % parsed[0]
- host, port = splitHostPort(parsed[0], parsed[1])
- path = urlunparse(('', '') + parsed[2:])
+ if peers:
+ peer = choice(peers)
+ log.msg('Downloading from peer %s' % peer)
+ host, port = splitHostPort('http', peer)
+ path = '/~/' + quote_plus(hash.expected())
+ else:
+ log.msg('Downloading (%s) from mirror %s' % (method, mirror))
+ parsed = urlparse(mirror)
+ assert parsed[0] == "http", "Only HTTP is supported, not '%s'" % parsed[0]
+ host, port = splitHostPort(parsed[0], parsed[1])
+ path = urlunparse(('', '') + parsed[2:])