Merge branch 'SaveTestResults' into NewOptions

Add ability to save test results
This commit is contained in:
Andrew Cammell 2014-10-05 13:24:07 +08:00
commit 2aeb1d2408
1 changed files with 18 additions and 4 deletions

View File

@ -515,6 +515,8 @@ def speedtest():
parser.add_argument('--loadservers', help='Specify a file of speedtest.net servers '
'to use instead of downloading the list')
parser.add_argument('--server', help='Specify a server ID to test against')
parser.add_argument('--saveresults', help='Specify a file to save the speedtest.net '
'results')
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,
@ -717,10 +719,10 @@ def speedtest():
if not args.simple:
print_('Testing download speed', end='')
dlspeed = downloadSpeed(urls, args.simple)
dlspdstr = '%0.2f M%s/s' % ((dlspeed / 1000 / 1000) * args.units[1], args.units[0])
if not args.simple:
print_()
print_('Download: %0.2f M%s/s' %
((dlspeed / 1000 / 1000) * args.units[1], args.units[0]))
print_('Download: %s' % dlspdstr)
sizesizes = [int(.25 * 1000 * 1000), int(.5 * 1000 * 1000)]
sizes = []
@ -730,10 +732,22 @@ def speedtest():
if not args.simple:
print_('Testing upload speed', end='')
ulspeed = uploadSpeed(best['url'], sizes, args.simple)
ulspdstr = '%0.2f M%s/s' % ((ulspeed / 1000 / 1000) * args.units[1], args.units[0])
if not args.simple:
print_()
print_('Upload: %0.2f M%s/s' %
((ulspeed / 1000 / 1000) * args.units[1], args.units[0]))
print_('Upload: %s' % ulspdstr)
# Save test results
if args.saveresults != None:
if not args.simple:
print_('Saving test results to %s' % args.saveresults)
try:
resfile = open(args.saveresults, 'a')
except:
print_('Unable to open results file')
sys.exit(1)
resfile.write(('%(id)s,%(sponsor)s,%(name)s,%(country)s,%(latency)s ms,' % best) + ('%s,%s\n' % (dlspdstr, ulspdstr)))
resfile.close()
if args.share and args.mini:
print_('Cannot generate a speedtest.net share results image while '