Merge 682bb729b7 into 22210ca352
This commit is contained in:
commit
c037c24b03
|
|
@ -0,0 +1,15 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<settings>
|
||||||
|
<servers>
|
||||||
|
<server url="http://speedtest.deltacable.com:8080/speedtest/upload.php" lat="49.0902" lon="-123.0652" name="Delta, BC" country="Canada" cc="CA" sponsor="Eastlink" id="22154" host="speedtest.deltacable.com:8080"/>
|
||||||
|
<server url="https://speedtest.vc.shawcable.net:8080/speedtest/upload.php" lat="49.2505" lon="-123.1119" name="Vancouver, BC" country="Canada" cc="CA" sponsor="Shaw Communications" id="4243" host="speedtest.vc.shawcable.net:8080"/>
|
||||||
|
<server url="http://speedtest.skywaywest.net:8080/speedtest/upload.php" lat="49.2505" lon="-123.1119" name="Vancouver, BC" country="Canada" cc="CA" sponsor="Skyway West Business Internet Services" id="3318" host="speedtest.skywaywest.net:8080"/>
|
||||||
|
<server url="http://speedtest-6.aebc.com:8080/speedtest/upload.php" lat="49.2505" lon="-123.1119" name="Vancouver, BC" country="Canada" cc="CA" sponsor="AEBC Internet" id="41509" host="speedtest-6.aebc.com:8080"/>
|
||||||
|
<server url="http://speedtest.van3.fibretel.ca:8080/speedtest/upload.php" lat="49.2505" lon="-123.1119" name="Vancouver, BC" country="Canada" cc="CA" sponsor="FIBRETEL" id="58622" host="speedtest.van3.fibretel.ca:8080"/>
|
||||||
|
<server url="http://fast.rockisland.net:8080/speedtest/upload.php" lat="48.5343" lon="-123.0171" name="Friday Harbor, WA" country="United States" cc="US" sponsor="Rock Island Communications" id="26805" host="fast.rockisland.net:8080"/>
|
||||||
|
<server url="http://speedtest.cityofanacortes.org:8080/speedtest/upload.php" lat="48.5126" lon="-122.6127" name="Anacortes, WA" country="United States" cc="US" sponsor="City of Anacortes" id="31110" host="speedtest.cityofanacortes.org:8080"/>
|
||||||
|
<server url="http://ost02.whidbey.net:8080/speedtest/upload.php" lat="48.0401" lon="-122.4063" name="Langley, WA" country="United States" cc="US" sponsor="Whidbey Telecom" id="54406" host="ost02.whidbey.net:8080"/>
|
||||||
|
<server url="https://speedtestvm-evrtwaxa.as20055.net:8080/speedtest/upload.php" lat="47.9790" lon="-122.2021" name="Everett, WA" country="United States" cc="US" sponsor="Ziply Fiber" id="42157" host="speedtestvm-evrtwaxa.as20055.net:8080"/>
|
||||||
|
<server url="http://speedtest1-bothwaxb.as20055.net:8080/speedtest/upload.php" lat="47.7717" lon="-122.2044" name="Bothell, WA" country="United States" cc="US" sponsor="Ziply Fiber" id="51693" host="speedtest1-bothwaxb.as20055.net:8080"/>
|
||||||
|
</servers>
|
||||||
|
</settings>
|
||||||
25
speedtest.py
25
speedtest.py
|
|
@ -1237,7 +1237,7 @@ class Speedtest(object):
|
||||||
|
|
||||||
return self.config
|
return self.config
|
||||||
|
|
||||||
def get_servers(self, servers=None, exclude=None):
|
def get_servers(self, servers=None, exclude=None, load_servers=None):
|
||||||
"""Retrieve a the list of speedtest.net servers, optionally filtered
|
"""Retrieve a the list of speedtest.net servers, optionally filtered
|
||||||
to servers matching those specified in the ``servers`` argument
|
to servers matching those specified in the ``servers`` argument
|
||||||
"""
|
"""
|
||||||
|
|
@ -1326,6 +1326,14 @@ class Speedtest(object):
|
||||||
except (SyntaxError, xml.parsers.expat.ExpatError):
|
except (SyntaxError, xml.parsers.expat.ExpatError):
|
||||||
raise ServersRetrievalError()
|
raise ServersRetrievalError()
|
||||||
|
|
||||||
|
#load from file if exist
|
||||||
|
printer('Servers File:\n%s' % load_servers, debug=True)
|
||||||
|
if load_servers is not None:
|
||||||
|
if os.path.isfile(load_servers):
|
||||||
|
serverfile = ET.parse(load_servers)
|
||||||
|
serverlist = serverfile.getroot()
|
||||||
|
elements = elements + list(set(serverlist[0])-set(elements))
|
||||||
|
|
||||||
for server in elements:
|
for server in elements:
|
||||||
try:
|
try:
|
||||||
attrib = server.attrib
|
attrib = server.attrib
|
||||||
|
|
@ -1757,6 +1765,8 @@ def parse_args():
|
||||||
help='Suppress verbose output, only show basic '
|
help='Suppress verbose output, only show basic '
|
||||||
'information in JSON format. Speeds listed in '
|
'information in JSON format. Speeds listed in '
|
||||||
'bit/s and not affected by --bytes')
|
'bit/s and not affected by --bytes')
|
||||||
|
parser.add_argument('--load-servers', action='append',
|
||||||
|
help='Load list of servers from file')
|
||||||
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')
|
||||||
|
|
@ -1891,9 +1901,18 @@ def shell():
|
||||||
printer('Cannot retrieve speedtest configuration', error=True)
|
printer('Cannot retrieve speedtest configuration', error=True)
|
||||||
raise SpeedtestCLIError(get_exception())
|
raise SpeedtestCLIError(get_exception())
|
||||||
|
|
||||||
|
if args.load_servers:
|
||||||
|
printer('Loading file with servers...', quiet)
|
||||||
|
if not os.path.isfile(args.load_servers[0]):
|
||||||
|
raise SystemExit('ERROR: Cannot load specified %s file' % args.load_servers)
|
||||||
|
|
||||||
|
file = args.load_servers[0]
|
||||||
|
else:
|
||||||
|
file = None
|
||||||
|
|
||||||
if args.list:
|
if args.list:
|
||||||
try:
|
try:
|
||||||
speedtest.get_servers()
|
speedtest.get_servers(load_servers=file)
|
||||||
except (ServersRetrievalError,) + HTTP_ERRORS:
|
except (ServersRetrievalError,) + HTTP_ERRORS:
|
||||||
printer('Cannot retrieve speedtest server list', error=True)
|
printer('Cannot retrieve speedtest server list', error=True)
|
||||||
raise SpeedtestCLIError(get_exception())
|
raise SpeedtestCLIError(get_exception())
|
||||||
|
|
@ -1916,7 +1935,7 @@ def shell():
|
||||||
if not args.mini:
|
if not args.mini:
|
||||||
printer('Retrieving speedtest.net server list...', quiet)
|
printer('Retrieving speedtest.net server list...', quiet)
|
||||||
try:
|
try:
|
||||||
speedtest.get_servers(servers=args.server, exclude=args.exclude)
|
speedtest.get_servers(servers=args.server, exclude=args.exclude, load_servers=file)
|
||||||
except NoMatchedServers:
|
except NoMatchedServers:
|
||||||
raise SpeedtestCLIError(
|
raise SpeedtestCLIError(
|
||||||
'No matched servers: %s' %
|
'No matched servers: %s' %
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue