diff options
author | Scott Horowitz <stonecrest@gmail.com> | 2007-04-23 06:07:50 +0200 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2007-04-23 06:30:45 +0200 |
commit | d1c3bd62def7bdabfde9295e65e9be77c13342f4 (patch) | |
tree | ad1e9db64947b8606ef99a499875978559943da1 /scripts/rankmirrors | |
parent | 8e694dc40f241bf33e1ca291faec5202aa41d0c9 (diff) | |
download | pacman-d1c3bd62def7bdabfde9295e65e9be77c13342f4.tar.gz pacman-d1c3bd62def7bdabfde9295e65e9be77c13342f4.tar.xz |
rankmirrors: download first 50KB of DB to get more reliable numbers
Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'scripts/rankmirrors')
-rwxr-xr-x | scripts/rankmirrors | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/scripts/rankmirrors b/scripts/rankmirrors index b2cfd18c..3eb10b5a 100755 --- a/scripts/rankmirrors +++ b/scripts/rankmirrors @@ -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: + 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)) + serverToTime[serverUrl] = timeCmd(getFuncToTime(serverUrl + dbFileName)) if options.verbose: try: print "%.2f" % serverToTime[serverUrl] |