
commit 96dad3f578e0797aee4992fc79b25ea8af2b9414 Author: Arturo Filastò <arturo@filasto.net> Date: Sat Apr 23 15:48:09 2016 +0200 Print a helpful message when run with no arguments (inciting to run oonideckgen) * Optimise a bit the importing of modules --- ooni/oonicli.py | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/ooni/oonicli.py b/ooni/oonicli.py index 63312b5..5bc2124 100644 --- a/ooni/oonicli.py +++ b/ooni/oonicli.py @@ -7,20 +7,11 @@ import random import urlparse from twisted.python import usage -from twisted.python.util import spewer -from twisted.internet import defer, reactor, protocol +from twisted.internet import defer from ooni import errors, __version__ - from ooni.settings import config -from ooni.director import Director -from ooni.deck import Deck, nettest_to_path -from ooni.nettest import NetTestLoader - from ooni.utils import log -from ooni.utils.net import hasRawSocketPermission - - class LifetimeExceeded(Exception): pass @@ -30,7 +21,7 @@ class Options(usage.Options): longdesc = ("ooniprobe loads and executes a suite or a set of suites of" " network tests. These are loaded from modules, packages and" - " files listed on the command line") + " files listed on the command line.") optFlags = [["help", "h"], ["resume", "r"], @@ -71,11 +62,21 @@ class Options(usage.Options): self['test'] = None usage.Options.__init__(self) + def getUsage(self, width=None): + return super(Options, self).getUsage(width) + """ +To get started you may want to run: + +$ oonideckgen + +This will tell you how to run ooniprobe :) +""" + def opt_spew(self): """ Print an insanely verbose log of everything that happens. Useful when debugging freezes or locks in complex code. """ + from twisted.python.util import spewer sys.settrace(spewer) def opt_version(self): @@ -186,6 +187,7 @@ def setupGlobalOptions(logging, start_tor, check_incoherences): log.start(global_options['logfile']) if config.privacy.includepcap: + from ooni.utils.net import hasRawSocketPermission if hasRawSocketPermission(): from ooni.utils.txscapy import ScapyFactory config.scapyFactory = ScapyFactory(config.advanced.interface) @@ -223,6 +225,9 @@ def setupCollector(global_options, collector_address): def createDeck(global_options, url=None): + from ooni.nettest import NetTestLoader + from ooni.deck import Deck, nettest_to_path + if url: log.msg("Creating deck for: %s" % (url)) @@ -331,9 +336,9 @@ def runWithDirector(logging=True, start_tor=True, check_incoherences=True): Instance the director, parse command line options and start an ooniprobe test! """ - global_options = setupGlobalOptions(logging, start_tor, check_incoherences) + from ooni.director import Director director = Director() if global_options['list']: print "# Installed nettests" @@ -379,7 +384,8 @@ def runWithDaemonDirector(logging=True, start_tor=True, check_incoherences=True) Instance the director, parse command line options and start an ooniprobe test! """ - + from twisted.internet import reactor, protocol + from ooni.director import Director try: import pika from pika import exceptions