sshmitm.moduleparser module
BaseModule parsing library
This module is an extension to the standard Argparse module, which offers the possibility to load to load classes as BaseModule.
This module contains the following public classes:
- ModuleParser – entry point to parse command line parameters.
This class provides the same functionality as the ArgumentParser from the argparse module. However, it is possible to specify BaseModules and Plugins, which extend the functionality of the parser and the application respectively.
- BaseModule – base class for BaseModules that can be used in the application.
All BaseModules must be derived from this class. If a module does not originate from this class, a ModuleError occurs.
- ModuleError – Exception thrown when errors occur when initializing modules or plugins.
This exception is thrown when an error has occurred. Details can be found in the exception.
All other classes and functions in this module are either legacy or are implementation specific and should not be used in production applications.
- class sshmitm.moduleparser.AddArgumentMethod(parser, container=None, config_section=None)
Bases:
object
- Parameters:
parser (
_ModuleArgumentParser
) –container (
Optional
[_ActionsContainer
], default:None
) –config_section (
Optional
[str
], default:None
) –
- class sshmitm.moduleparser.BaseModule(args=None, namespace=None, **kwargs)
Bases:
ABC
- Parameters:
args (
Optional
[Sequence
[str
]], default:None
) –namespace (
Optional
[Namespace
], default:None
) –kwargs (
Any
) –
- classmethod add_module(*args, **kwargs)
- Parameters:
args (
Any
) –kwargs (
Any
) –
- Return type:
None
- classmethod argument_group(title=None, *, description=None)
- Parameters:
title (
Optional
[str
], default:None
) –description (
Optional
[str
], default:None
) –
- Return type:
_ArgumentGroup
- classmethod modules()
- Return type:
List
[Tuple
[Action
,Any
]]
- classmethod parser()
- Return type:
_ModuleArgumentParser
- classmethod parser_arguments()
- Return type:
None
- exception sshmitm.moduleparser.BaseModuleError
Bases:
Exception
- exception sshmitm.moduleparser.InvalidModuleArguments
Bases:
BaseModuleError
- exception sshmitm.moduleparser.ModuleError(moduleclass=None, baseclass=None, message=None)
Bases:
BaseModuleError
- Parameters:
moduleclass (
Union
[Type
[BaseModule
],Tuple
[Type
[BaseModule
],...
],None
], default:None
) –baseclass (
Union
[Type
[BaseModule
],Tuple
[Type
[BaseModule
],...
],None
], default:None
) –message (
Optional
[str
], default:None
) –
- class sshmitm.moduleparser.ModuleFormatter(prog, indent_increment=2, max_help_position=24, width=None)
Bases:
HelpFormatter
Help message formatter which retains formatting of all help text. Only the name of this class is considered a public API. All the methods provided by the class are considered an implementation detail.
- class sshmitm.moduleparser.ModuleParser(**kwargs)
Bases:
_ModuleArgumentParser
- Parameters:
kwargs (
Any
) –
- add_module(*args, **kwargs)
- Parameters:
args (
Any
) –kwargs (
Any
) –
- Return type:
None
- execute_subcommand(name, args)
- Parameters:
name (
str
) –args (
Namespace
) –
- Return type:
None
- load_subcommands()
- Return type:
None
- parse_args(args=None, namespace=None)
- Parameters:
args (
Optional
[Sequence
[str
]], default:None
) –namespace (
Optional
[Namespace
], default:None
) –
- Return type:
Namespace
- parse_known_args(args=None, namespace=None)
- Parameters:
args (
Optional
[Sequence
[str
]], default:None
) –namespace (
Optional
[Namespace
], default:None
) –
- Return type:
Tuple
[Namespace
,List
[str
]]
- class sshmitm.moduleparser.SubCommand(name, subcommand)
Bases:
ABC
- classmethod config_section()
- Return type:
Optional
[str
]
- classmethod docs()
- Return type:
Optional
[str
]
- abstract execute(args)
- Parameters:
args (
Namespace
) –- Return type:
None
- register_arguments()
- Return type:
None
- sshmitm.moduleparser.load_module(entry_point_class)
Action to be able to define BaseModule with the “add_module” method of the ModuleParser as command line parameter
- Parameters:
entry_point_class (
Type
[BaseModule
]) –- Return type:
Type
[Action
]
- sshmitm.moduleparser.load_module_from_entrypoint(name, entry_point_class)
- Parameters:
name (
str
) –entry_point_class (
Type
[BaseModule
]) –
- Return type:
Optional
[Type
[BaseModule
]]
- sshmitm.moduleparser.set_module_kwargs(entry_point_class, **kwargs)
- Parameters:
entry_point_class (
Type
[BaseModule
]) –kwargs (
Any
) –
- Return type:
Dict
[str
,Any
]