use argparse rather than getopt
Depends on #6810 (closed)
We ought to move to argparse rather than hard-code our own. This would make it easier to inheritance options between modules, for example something like
# in flashproxy.util
def add_module_opts(parser):
parser.add_argument("--unsafe_logging", etc)
old_parse = parser.parse_args
parser.parse_args = lambda **kwargs: _parse_module_opts(old_parse(**kwargs))
def _parse_module_opts(parsed_opts): # a Namespace object
if parsed_opts.unsafe_logging:
# do something
return parsed_opts
Then in the main script:
def main(argv):
parser = argparse.ArgumentParser()
parser.add_argument(app-specific)
flashproxy.util.add_module_opts(parser)
...
opts = parser.parse_args()
...