From c72da6c0b922c36d3a800383e33932a00beeb87f Mon Sep 17 00:00:00 2001 From: bk2zsto Date: Fri, 9 May 2014 20:20:57 -0400 Subject: [PATCH 1/3] add log option --- speedtest_cli.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/speedtest_cli.py b/speedtest_cli.py index 6c89b1d..f7eaa6e 100755 --- a/speedtest_cli.py +++ b/speedtest_cli.py @@ -30,6 +30,8 @@ import re import signal import socket +from importlib import import_module + # Used for bound_interface socket_socket = socket.socket @@ -469,7 +471,12 @@ def speedtest(): parser.add_argument('--version', action='store_true', help='Show the version number and exit') + parser.add_argument('--resultlog', action='store', + help='Module name to use for result logging', + default=None, metavar='path.to.module') + options = parser.parse_args() + if isinstance(options, tuple): args = options[0] else: @@ -571,6 +578,7 @@ def speedtest(): best = getBestServer(servers) except: best = servers[0] + else: if not args.simple: print_('Selecting best server based on ping...') @@ -662,6 +670,18 @@ def speedtest(): print_('Share results: http://www.speedtest.net/result/%s.png' % resultid[0]) + if args.resultlog: + logmodule = None + try: + logmodule = import_module(args.resultlog) + except ImportError: + print_('Load log module (%s) failed.' % args.resultlog), + sys.exit(1) + + result = {'dlspeed': dlspeed, 'ulspeed': ulspeed} + log = logmodule.logger(config, best, result) + log.logresult() + def main(): try: From b5d2f74636d04e6d0bdffb84c1f1344ec685534d Mon Sep 17 00:00:00 2001 From: bk2zsto Date: Fri, 9 May 2014 21:03:13 -0400 Subject: [PATCH 2/3] importlib -> imp for < 2.7 compatibility --- speedtest_cli.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/speedtest_cli.py b/speedtest_cli.py index f7eaa6e..d6b1722 100755 --- a/speedtest_cli.py +++ b/speedtest_cli.py @@ -30,7 +30,7 @@ import re import signal import socket -from importlib import import_module +import imp # Used for bound_interface socket_socket = socket.socket @@ -673,7 +673,8 @@ def speedtest(): if args.resultlog: logmodule = None try: - logmodule = import_module(args.resultlog) + found = imp.find_module(args.resultlog) + logmodule = imp.load_module(args.resultlog, found) except ImportError: print_('Load log module (%s) failed.' % args.resultlog), sys.exit(1) From 61cf4c20276aa327d2358046029d7892a1c5c182 Mon Sep 17 00:00:00 2001 From: bk2zsto Date: Fri, 9 May 2014 21:11:33 -0400 Subject: [PATCH 3/3] load error msg --- speedtest_cli.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/speedtest_cli.py b/speedtest_cli.py index d6b1722..324a1aa 100755 --- a/speedtest_cli.py +++ b/speedtest_cli.py @@ -676,7 +676,7 @@ def speedtest(): found = imp.find_module(args.resultlog) logmodule = imp.load_module(args.resultlog, found) except ImportError: - print_('Load log module (%s) failed.' % args.resultlog), + print_('Log module (%s) failed. Not logging.' % args.resultlog), sys.exit(1) result = {'dlspeed': dlspeed, 'ulspeed': ulspeed}