summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--scripts/rankmirrors20
1 files changed, 18 insertions, 2 deletions
diff --git a/scripts/rankmirrors b/scripts/rankmirrors
index b2cfd18c..3eb10b5a 100644
--- 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]