Added static option for static server list
This commit is contained in:
parent
c58ad3367b
commit
67985db684
14
speedtest.py
14
speedtest.py
|
@ -17,6 +17,7 @@
|
|||
|
||||
import os
|
||||
import re
|
||||
import json
|
||||
import csv
|
||||
import sys
|
||||
import math
|
||||
|
@ -1224,10 +1225,12 @@ class Speedtest(object):
|
|||
|
||||
return self.config
|
||||
|
||||
def get_servers(self, servers=None, exclude=None):
|
||||
def get_servers(self, servers=None, exclude=None, servers_json=None):
|
||||
"""Retrieve a the list of speedtest.net servers, optionally filtered
|
||||
to servers matching those specified in the ``servers`` argument
|
||||
"""
|
||||
|
||||
if servers_json is None:
|
||||
if servers is None:
|
||||
servers = []
|
||||
|
||||
|
@ -1347,9 +1350,14 @@ class Speedtest(object):
|
|||
|
||||
if (servers or exclude) and not self.servers:
|
||||
raise NoMatchedServers()
|
||||
else:
|
||||
printer('Loading Servers from:\n%s' % servers_json, debug=True)
|
||||
with open(servers_json) as json_file:
|
||||
self.servers = json.load(json_file)
|
||||
|
||||
return self.servers
|
||||
|
||||
|
||||
def set_mini_server(self, server):
|
||||
"""Instead of querying for a list of servers, set a link to a
|
||||
speedtest mini server
|
||||
|
@ -1744,6 +1752,8 @@ def parse_args():
|
|||
help='Suppress verbose output, only show basic '
|
||||
'information in JSON format. Speeds listed in '
|
||||
'bit/s and not affected by --bytes')
|
||||
parser.add_argument('--load-servers-from-json', dest='servers_json', type=PARSER_TYPE_STR,
|
||||
help='Serverlist for static testing in json Format')
|
||||
parser.add_argument('--list', action='store_true',
|
||||
help='Display a list of speedtest.net servers '
|
||||
'sorted by distance')
|
||||
|
@ -1903,7 +1913,7 @@ def shell():
|
|||
if not args.mini:
|
||||
printer('Retrieving speedtest.net server list...', quiet)
|
||||
try:
|
||||
speedtest.get_servers(servers=args.server, exclude=args.exclude)
|
||||
speedtest.get_servers(servers=args.server, exclude=args.exclude, servers_json=args.servers_json)
|
||||
except NoMatchedServers:
|
||||
raise SpeedtestCLIError(
|
||||
'No matched servers: %s' %
|
||||
|
|
Loading…
Reference in New Issue