Implement case insensitive country filter with --country option and update README accordingly
This commit is contained in:
parent
7b09d8759f
commit
6d99912878
|
@ -92,6 +92,7 @@ Usage
|
|||
--list Display a list of speedtest.net servers sorted by
|
||||
distance
|
||||
--server SERVER Specify a server ID to test against
|
||||
--country COUNTRY Select the best server matching country name
|
||||
--mini MINI URL of the Speedtest Mini server
|
||||
--source SOURCE Source IP address to bind to
|
||||
--timeout TIMEOUT HTTP timeout in seconds. Default 10
|
||||
|
|
|
@ -583,6 +583,8 @@ def speedtest():
|
|||
help='Display a list of speedtest.net servers '
|
||||
'sorted by distance')
|
||||
parser.add_argument('--server', help='Specify a server ID to test against')
|
||||
parser.add_argument('--country', type=str.lower,
|
||||
help='Select the best server matching country name')
|
||||
parser.add_argument('--mini', help='URL of the Speedtest Mini server')
|
||||
parser.add_argument('--source', help='Source IP address to bind to')
|
||||
parser.add_argument('--timeout', default=10, type=int,
|
||||
|
@ -627,7 +629,7 @@ def speedtest():
|
|||
|
||||
if not args.simple:
|
||||
print_('Retrieving speedtest.net server list...')
|
||||
if args.list or args.server:
|
||||
if args.list or args.server or args.country:
|
||||
servers = closestServers(config['client'], True)
|
||||
if args.list:
|
||||
serverList = []
|
||||
|
@ -650,6 +652,16 @@ def speedtest():
|
|||
except IndexError:
|
||||
print_('Invalid server ID')
|
||||
sys.exit(1)
|
||||
elif args.country:
|
||||
try:
|
||||
if not args.simple:
|
||||
print_('Selecting best server in %s based on latency...' %
|
||||
args.country.capitalize())
|
||||
best = getBestServer(filter(lambda x: x['country'].lower() ==
|
||||
args.country, servers))
|
||||
except IndexError:
|
||||
print_('No server available for this country')
|
||||
sys.exit(1)
|
||||
elif args.mini:
|
||||
name, ext = os.path.splitext(args.mini)
|
||||
if ext:
|
||||
|
|
Loading…
Reference in New Issue