sshmitm.moduleparser.plugininfo module

Plugin metadata data structures and argparse helpers.

class sshmitm.moduleparser.plugininfo.ExecHandlerInfo(name, ep_value, command_prefix, loaded_class, enabled)

Bases: object

Parameters:
  • name (str)

  • ep_value (str)

  • command_prefix (bytes)

  • loaded_class (type)

  • enabled (bool)

property actions: list[Action]
property argument_groups: list[_ArgumentGroup]
command_prefix: bytes
property config_section: str
property doc: str
enabled: bool
ep_value: str
loaded_class: type
name: str
property type_label: str
class sshmitm.moduleparser.plugininfo.GeneralActionInfo(action, group, group_title, config_section)

Bases: object

Parameters:
  • action (Action)

  • group (_ArgumentGroup)

  • group_title (str)

  • config_section (str)

action: Action
config_section: str
group: _ArgumentGroup
group_title: str
class sshmitm.moduleparser.plugininfo.GeneralGroupInfo(title, description, config_section, group)

Bases: object

Parameters:
  • title (str)

  • description (str)

  • config_section (str)

  • group (_ArgumentGroup)

config_section: str
description: str
group: _ArgumentGroup
title: str
class sshmitm.moduleparser.plugininfo.PluginInfo(name, ep_value, type_label, cli_flag, base_class, loaded_class)

Bases: object

Parameters:
  • name (str)

  • ep_value (str)

  • type_label (str)

  • cli_flag (str)

  • base_class (type[BaseModule])

  • loaded_class (type[BaseModule])

property actions: list[Action]
property argument_groups: list[_ArgumentGroup]
base_class: type[BaseModule]
cli_flag: str
property config_section: str
property doc: str
ep_value: str
loaded_class: type[BaseModule]
name: str
type_label: str
class sshmitm.moduleparser.plugininfo.PluginTypeInfo(type_label, cli_flag, config_key, help_text, base_class)

Bases: object

Parameters:
  • type_label (str)

  • cli_flag (str)

  • config_key (str)

  • help_text (str)

  • base_class (type[BaseModule])

base_class: type[BaseModule]
cli_flag: str
config_key: str
property doc: str
help_text: str
type_label: str
sshmitm.moduleparser.plugininfo.class_to_label(cls_name)

Derive a human-readable label from a base-class name.

Parameters:

cls_name (str)

Return type:

str

sshmitm.moduleparser.plugininfo.extract_groups(parser, skip=frozenset({'Available commands', 'optional arguments', 'options', 'positional arguments', None}))

Return visible argument groups from parser, excluding skip titles.

Parameters:
  • parser (ArgumentParser)

  • skip (frozenset[str | None] | set[str | None], default: frozenset({'options', None, 'Available commands', 'positional arguments', 'optional arguments'}))

Return type:

list[GeneralGroupInfo]

sshmitm.moduleparser.plugininfo.visible_actions(group)
Parameters:

group (_ArgumentGroup)

Return type:

list[Action]