1
0
mirror of https://github.com/moparisthebest/pacman synced 2024-11-12 04:15:06 -05:00

rankmirrors: download first 50KB of DB to get more reliable numbers

Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
Scott Horowitz 2007-04-23 00:07:50 -04:00 committed by Dan McGee
parent 8e694dc40f
commit d1c3bd62de

View File

@ -55,7 +55,8 @@ def timeCmd(cmd):
def talkToServer(serverUrl):
opener = urllib2.build_opener()
tmp = opener.open(serverUrl).read()
# retrieve first 50,000 bytes only
tmp = opener.open(serverUrl).read(50000)
def getFuncToTime(serverUrl):
return lambda : talkToServer(serverUrl)
@ -139,8 +140,23 @@ if __name__ == "__main__":
elif options.times:
print ' * ',
sys.stdout.flush()
# add *.db.tar.gz to server name. the repo name is parsed
# from the mirror url; it is the third (or fourth) dir
# from the end, where the url is http://foo/bar/REPO/os/arch
try:
serverToTime[serverUrl] = timeCmd(getFuncToTime(serverUrl))
splitted2 = serverUrl.split('/')
if serverUrl[-1] != '/':
repoName = splitted2[-3]
dbFileName = '/' + repoName + '.db.tar.gz'
else:
repoName = splitted2[-4]
dbFileName = repoName + '.db.tar.gz'
except:
dbFileName = ''
try:
serverToTime[serverUrl] = timeCmd(getFuncToTime(serverUrl + dbFileName))
if options.verbose:
try:
print "%.2f" % serverToTime[serverUrl]