Index: rankmirrors =================================================================== RCS file: /home/cvs-pacman/pacman-lib/scripts/rankmirrors,v retrieving revision 1.3 diff -u -r1.3 rankmirrors --- rankmirrors 21 Dec 2006 01:53:41 -0000 1.3 +++ rankmirrors 29 Dec 2006 19:09:20 -0000 @@ -20,12 +20,12 @@ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, # USA. # -import sys, datetime, time, socket, urllib2 +import os, sys, datetime, time, socket, urllib2 from optparse import OptionParser def createOptParser(): - usage = "usage: %prog [options] MIRRORFILE" - description = "Ranks pacman mirrors by their connection and opening speed. Pacman mirror files are located in /etc/pacman.d/." + usage = "usage: %prog [options] MIRRORFILE|URL" + description = "Ranks pacman mirrors by their connection and opening speed. Pacman mirror files are located in /etc/pacman.d/. It can also rank one mirror if the URL is provided." parser = OptionParser(usage=usage,description=description) parser.add_option("-f", "--formatted", action="store_true", dest = "formatted", default=False, help="output in mirror file format") @@ -33,6 +33,8 @@ help="number of servers to output, 0 for all") parser.add_option("-v", "--verbose", action="store_true", dest="verbose", default=False, help="be verbose in output") + parser.add_option("-u", "--url", action="store_true", dest="url", + default=False, help="test a specific url") return parser def timeCmd(cmd): @@ -70,6 +72,17 @@ # allows connections to time out if they take too long socket.setdefaulttimeout(10) + if options.url: + if options.verbose: + print 'Testing', args[0] + '...' + serverToTime = timeCmd(getFuncToTime(args[0])) + print args[0], ':', serverToTime + sys.exit(0) + + if not os.path.isfile(args[0]): + print args[0], 'does not exist.' + sys.exit(1) + fl = open(args[0], 'r') serverToTime = {} if options.formatted: