navmenu
latest

Contents:

  • Introduction
  • API Reference
    • Actions
    • Menu Item Contents
    • Menu Items
    • Menu Contents
    • Menus
    • Menu Manager
    • Keyboard
    • Responses
    • State Managers
navmenu
  • »
  • API Reference »
  • Menus
  • Edit on GitHub

Menus

class navmenu.menus.BaseMenu(aliases=None)[source]

A generic menu.

Parameters

aliases (Optional[Sequence[str]]) – A sequence of strings that act as shortcuts to the menu.

enter(payload=None)[source]

Enter the menu and optionally return a message.

Parameters

payload (Optional[dict]) – An incoming message payload.

Return type

Optional[Message]

Returns

None or a message.

abstract get_message(payload=None)[source]

Get a message representing the menu.

Parameters

payload (Optional[dict]) – An incoming message payload.

Return type

Message

Returns

A message representing the menu.

abstract select(action, payload=None)[source]

Select an item based on action and payload and optionally return one or multiple messages.

Parameters
  • action (str) – A string indicating selected menu button.

  • payload – An incoming message payload.

Return type

Optional[Iterator[Message]]

Returns

None or a list of messages.

abstract serialize()[source]

Serialize the class instance to a dictionary.

Return type

dict

Returns

A serialized class instance.

class navmenu.menus.Menu(content, items=None, default_action=None, aliases=None)[source]

Bases: navmenu.menus.BaseMenu

A menu with fixed content and list of items.

Parameters
  • content (BaseContent) – The menu content.

  • items (Optional[Sequence[BaseItem]]) – A sequence of menu items.

  • default_action (Optional[Action]) – The action to select when the provided action does not exist.

  • aliases (Optional[Sequence[str]]) – A sequence of strings that act as shortcuts to the menu.

add_item(item)[source]

Add the item to the menu.

Parameters

item (BaseItem) – The item to add.

Raises

RuntimeError – The menu’s item list is immutable.

Return type

None

get_message(payload=None)[source]

Get a message representing the menu.

Parameters

payload (Optional[dict]) – An incoming message payload.

Return type

Message

Returns

A message representing the menu.

select(action, payload=None)[source]

Select an item based on action and payload and optionally return one or multiple messages.

Parameters
  • action (str) – A string indicating selected menu button.

  • payload (Optional[dict]) – An incoming message payload.

Return type

Optional[Iterator[Message]]

Returns

None or a list of messages.

serialize()[source]

Serialize the class instance to a dictionary.

Return type

dict

Returns

A serialized class instance.

class navmenu.menus.CustomMenu(handler, aliases=None)[source]

Bases: navmenu.menus.BaseMenu

A menu that is controlled by a custom class.

Parameters
  • handler – A class containing “select”, “get_message” and “enter” methods.

  • aliases (Optional[Sequence[str]]) – A sequence of strings that act as shortcuts to the menu.

enter(payload=None)[source]

Enter the menu and optionally return a message.

Parameters

payload (Optional[dict]) – An incoming message payload.

Return type

Optional[Message]

Returns

None or a message.

get_message(payload=None)[source]

Get a message representing the menu.

Parameters

payload (Optional[dict]) – An incoming message payload.

Return type

Optional[Message]

Returns

A message representing the menu.

select(action, payload=None)[source]

Select an item based on action and payload and optionally return one or multiple messages.

Parameters
  • action (str) – A string indicating selected menu button.

  • payload (Optional[dict]) – An incoming message payload.

Return type

Optional[Iterator[Message]]

Returns

None or a list of messages.

serialize()[source]

Serialize the class instance to a dictionary.

Return type

dict

Returns

A serialized class instance.

Previous Next

© Copyright 2021, rashidsh. Revision ec67b820.

Built with Sphinx using a theme provided by Read the Docs.