[tor-commits] [ooni-probe/master] * Working on the t.p.usage.Options constructor class.
isis at torproject.org
isis at torproject.org
Sun Nov 4 13:50:41 UTC 2012
commit faa7c9e9030c62e0baace854aa440b4fed3f0a5b
Author: Isis Lovecruft <isis at torproject.org>
Date: Sun Nov 4 06:04:59 2012 +0000
* Working on the t.p.usage.Options constructor class.
---
ooni/nettest.py | 25 +++++++++++++++++++++----
1 files changed, 21 insertions(+), 4 deletions(-)
diff --git a/ooni/nettest.py b/ooni/nettest.py
index 2ba8ccb..7f9f72c 100644
--- a/ooni/nettest.py
+++ b/ooni/nettest.py
@@ -251,7 +251,18 @@ class NetTestAdaptor(unittest.TestCase):
@classmethod
def __optstruct__(cls):
+ """
+ Constuctor for a custom t.p.usage.Options class, per NetTestCase.
+ """
+ #if cls._opt_parameters is None:
+ # cls._opt_parameters = [ list() ]
+ class NetTestOptions(usage.Options):
+ """Per NetTestCase Options class."""
+ optParameters = cls._testopt_params
+ optFlags = cls._testopt_flags
+ subOptions = cls._sub_options
+ subCommands = cls._sub_command
def buildUsageOptions(self, *args, **kwargs):
pass
@@ -267,17 +278,23 @@ class NetTestAdaptor(unittest.TestCase):
subclass of :class:`ooni.nettest.NetTestCase`, so that the calling
functions during NetTestCase class setup can handle them correctly.
"""
+ ## These internal inputs are for handling inputs and inputFile
cls._raw_inputs = __copyattr__(cls, "inputs")
cls._input_file = __copyattr__(cls, "inputFile")
cls._input_parser = __copyattr__(cls, "inputParser", alt=__input_parser__)
cls._nettest_name = __copyattr__(cls, "name", alt="NetTestAdaptor")
+
+ ## This creates a class attribute with all of the parsed inputs,
+ ## which the instance will later set to be `self.inputs`.
cls.parsed_inputs = __get_inputs__(cls)
## XXX we should handle options generation here
- cls._opt_parameters = __copyattr__(cls, "optParameters")
- cls._opt_flags = __copyattr__(cls, "optFlags")
- cls._sub_commands = __copyattr__(cls, "subCommands")
- cls._sub_options = __copyattr__(cls, "subOptions")
+ cls._testopt_params = __copyattr__(cls, "optParameters")
+ cls._testopt_flags = __copyattr__(cls, "optFlags")
+ cls._sub_options = __copyattr__(cls, "subOptions")
+ cls._sub_command = __copyattr__(cls, "subCommand")
+ cls._default_subcmd = __copyattr__(cls, "defaultSubCommand")
+ cls._nettest_version = __copyattr__(cls, "version")
class NetTestCase(NetTestAdaptor):
More information about the tor-commits
mailing list