Easily create command-line menus
Project description
Menu
Easily create command-line menus.
Install
pip install Menu
Note: Use with Python 2 requires the future package to be installed.
Create the Menu
The Menu constructor arguments are all optional. The arguments are options, title, message, prompt, and refresh. Options is a list of tuples consisting of a name and a handler. Refresh is a handler called before showing the menu.
Menu() # empty menu, will close upon opening
Menu(options=[("Option Name", optionHandler)]) # customize the options
Menu(options=[("Option Name", optionHandler, {'key': val})]) # add kwargs to option handlers
Menu(title="Menu title") # customize the title
Menu(message="Message text") # customize the message, disabled by default
Menu(prompt=">") # customize the user input prompt
Menu(refresh=refreshHandler) # customize the refresh handler
Open the Menu
menu = Menu()
menu.open()
Close the Menu
from the instance after creating the menu
menu = Menu()
menu.close()
or use the static method before creating the menu
Menu(options = [("Close", Menu.CLOSE)])
Edit the menu
menu = Menu()
menu.set_options([("new option name", newOptionHandler)])
menu.set_title("new title")
menu.set_message("new message")
menu.set_prompt("new prompt")
Create a Submenu
main = Menu(title = "Main Menu")
sub = Menu(title = "Submenu")
main.set_options([
("Open submenu", sub.open),
("Close main menu", main.close)
])
sub.set_options([
("Return to main menu", sub.close)
])
main.open()
Example
Development
Symlink package to immediately see changes locally
$ pip install -e .
Run the tests
$ python test/tests.py
Build
$ python setup.py sdist
Note: Might need to login first with python setup.py register
Publish to PyPI
$ twine upload dist/*
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file Menu-3.2.2.tar.gz
.
File metadata
- Download URL: Menu-3.2.2.tar.gz
- Upload date:
- Size: 3.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/2.7.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8143eeec772937d4adc80b5a451f827da3dcdc9b2a1f850b4734e5d5e50d3dc4 |
|
MD5 | e6b9df1edba4fce0f414a2a704e882dc |
|
BLAKE2b-256 | a15766755041c5fa34386869bb4dda9d79938ef1b06b57360c2e0ccbb81d5b27 |