The Server parameter takes a name.
This commit is contained in:
parent
6603954e45
commit
0ed780bb4d
|
@ -106,7 +106,7 @@ Usage
|
||||||
affected by --bytes
|
affected by --bytes
|
||||||
--list Display a list of speedtest.net servers sorted by
|
--list Display a list of speedtest.net servers sorted by
|
||||||
distance
|
distance
|
||||||
--server SERVER Specify a server ID to test against
|
--server SERVER Specify a server ID (or city name) to test against
|
||||||
--mini MINI URL of the Speedtest Mini server
|
--mini MINI URL of the Speedtest Mini server
|
||||||
--source SOURCE Source IP address to bind to
|
--source SOURCE Source IP address to bind to
|
||||||
--timeout TIMEOUT HTTP timeout in seconds. Default 10
|
--timeout TIMEOUT HTTP timeout in seconds. Default 10
|
||||||
|
|
26
speedtest.py
26
speedtest.py
|
@ -1269,8 +1269,8 @@ def parse_args():
|
||||||
parser.add_argument('--list', action='store_true',
|
parser.add_argument('--list', action='store_true',
|
||||||
help='Display a list of speedtest.net servers '
|
help='Display a list of speedtest.net servers '
|
||||||
'sorted by distance')
|
'sorted by distance')
|
||||||
parser.add_argument('--server', help='Specify a server ID to test against',
|
parser.add_argument('--server', help='Specify a server ID (or city name) to test against',
|
||||||
type=PARSER_TYPE_INT)
|
type=PARSER_TYPE_STR)
|
||||||
parser.add_argument('--mini', help='URL of the Speedtest Mini server')
|
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('--source', help='Source IP address to bind to')
|
||||||
parser.add_argument('--timeout', default=10, type=PARSER_TYPE_INT,
|
parser.add_argument('--timeout', default=10, type=PARSER_TYPE_INT,
|
||||||
|
@ -1421,7 +1421,27 @@ def shell():
|
||||||
# Set a filter of servers to retrieve
|
# Set a filter of servers to retrieve
|
||||||
servers = []
|
servers = []
|
||||||
if args.server:
|
if args.server:
|
||||||
servers.append(args.server)
|
if (args.server.isnumeric()):
|
||||||
|
servers.append(int(args.server))
|
||||||
|
else: # Find the server ID by name
|
||||||
|
printer('Search for a server with the specified name...', quiet)
|
||||||
|
try:
|
||||||
|
speedtest.get_servers()
|
||||||
|
except (ServersRetrievalError, HTTP_ERRORS):
|
||||||
|
print_('Cannot retrieve speedtest server list')
|
||||||
|
raise SpeedtestCLIError(get_exception())
|
||||||
|
|
||||||
|
for _, items in sorted(speedtest.servers.items()):
|
||||||
|
for server in items:
|
||||||
|
if (server['name'].lower() == args.server.lower()):
|
||||||
|
servers.append(int(server['id']))
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
continue
|
||||||
|
break
|
||||||
|
|
||||||
|
if not servers:
|
||||||
|
raise SpeedtestCLIError('Server was not found: %s' % args.server)
|
||||||
|
|
||||||
printer('Testing from %(isp)s (%(ip)s)...' % speedtest.config['client'],
|
printer('Testing from %(isp)s (%(ip)s)...' % speedtest.config['client'],
|
||||||
quiet)
|
quiet)
|
||||||
|
|
Loading…
Reference in New Issue