This commit is contained in:
Andrew Udvare 2013-04-27 08:04:58 -07:00
commit 0096f523fc
3 changed files with 51 additions and 8 deletions

View File

@ -11,7 +11,7 @@ speedtest-cli-3 is written for use with Python 3
## Usage
$ speedtest-cli -h
usage: speedtest-cli [-h] [--share] [--simple] [--list] [--server SERVER]
usage: speedtest-cli [-h] [--share] [--simple] [--list] [--bytes] [--server SERVER]
Command line interface for testing internet bandwidth using speedtest.net.
--------------------------------------------------------------------------
@ -23,4 +23,7 @@ speedtest-cli-3 is written for use with Python 3
results image
--simple Suppress verbose output, only show basic information
--list Display a list of speedtest.net servers sorted by distance
--server SERVER Specify a server ID to test against
--bytes Display speeds in MBytes/s (instead of Mbit/s)
--ib Use IEC binary prefixes (MiB, etc)
http://en.wikipedia.org/wiki/Binary_prefix
--server SERVER Specify a server ID to test against

View File

@ -290,6 +290,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('--bytes', action='store_true', help='Show speed in MB per second')
parser.add_argument('--ib', action='store_true', help='Use IEC binary prefixes (MiB, etc)')
options = parser.parse_args()
if isinstance(options, tuple):
@ -341,6 +343,15 @@ def speedtest():
else:
print 'Ping: %(latency)s ms' % best
unit = 'bits'
size_divisor = 1000
if args.bytes:
unit = 'B'
if args.ib:
unit = 'i' + unit
size_divisor = 1024
sizes = [350, 500, 750, 1000, 1500, 2000, 2500, 3000, 3500, 4000]
urls = []
for size in sizes:
@ -352,9 +363,13 @@ def speedtest():
dlspeed = downloadSpeed(urls, args.simple)
if not args.simple:
print
print 'Download: %0.2f Mbit/s' % ((dlspeed / 1000 / 1000) * 8)
sizesizes = [int(.25 * 1000 * 1000), int(.5 * 1000 * 1000)]
dlspeed = dlspeed / size_divisor / size_divisor
if not args.bytes:
dlspeed = dlspeed * 8
print 'Download: %0.2f M%s/s' % (dlspeed, unit)
sizesizes = [int(.25 * size_divisor * size_divisor), int(.5 * size_divisor * size_divisor)]
sizes = []
for size in sizesizes:
for i in xrange(0, 25):
@ -364,8 +379,13 @@ def speedtest():
ulspeed = uploadSpeed(best['url'], sizes, args.simple)
if not args.simple:
print
print 'Upload: %0.2f Mbit/s' % ((ulspeed / 1000 / 1000) * 8)
ulspeed = ulspeed / size_divisor / size_divisor
if not args.bytes:
ulspeed = ulspeed * 8
print 'Upload: %0.2f M%s/s' % (ulspeed, unit)
# --ib option does not affect this part
if args.share:
dlspeedk = int(round((dlspeed / 1000) * 8, 0))
ping = int(round(best['latency'], 0))

View File

@ -272,6 +272,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('--bytes', action='store_true', help='Show speed in MB per second')
parser.add_argument('--ib', action='store_true', help='Use IEC binary prefixes (MiB, etc)')
args = parser.parse_args()
if not args.simple:
@ -318,6 +320,15 @@ def speedtest():
else:
print('Ping: %(latency)s ms' % best)
unit = 'bits'
size_divisor = 1000
if args.bytes:
unit = 'B'
if args.ib:
unit = 'i' + unit
size_divisor = 1024
sizes = [350, 500, 750, 1000, 1500, 2000, 2500, 3000, 3500, 4000]
urls = []
for size in sizes:
@ -329,9 +340,13 @@ def speedtest():
dlspeed = downloadSpeed(urls, args.simple)
if not args.simple:
print()
print('Download: %0.2f Mbit/s' % ((dlspeed / 1000 / 1000) * 8))
sizesizes = [int(.25 * 1000 * 1000), int(.5 * 1000 * 1000)]
dlspeed = dlspeed / size_divisor / size_divisor
if not args.bytes:
dlspeed = dlspeed * 8
print('Download: %0.2f M%s/s' % (dlspeed, unit))
sizesizes = [int(.25 * size_divisor * size_divisor), int(.5 * size_divisor * size_divisor)]
sizes = []
for size in sizesizes:
for i in range(0, 25):
@ -341,8 +356,13 @@ def speedtest():
ulspeed = uploadSpeed(best['url'], sizes, args.simple)
if not args.simple:
print()
print('Upload: %0.2f Mbit/s' % ((ulspeed / 1000 / 1000) * 8))
ulspeed = ulspeed / size_divisor / size_divisor
if not args.bytes:
ulspeed = ulspeed * 8
print('Upload: %0.2f M%s/s' % (ulspeed, unit))
# --ib option does not affect this part
if args.share:
dlspeedk = int(round((dlspeed / 1000) * 8, 0))
ping = int(round(best['latency'], 0))