diff options
Diffstat (limited to 'python-menu.spec')
| -rw-r--r-- | python-menu.spec | 315 |
1 files changed, 315 insertions, 0 deletions
diff --git a/python-menu.spec b/python-menu.spec new file mode 100644 index 0000000..a8050b9 --- /dev/null +++ b/python-menu.spec @@ -0,0 +1,315 @@ +%global _empty_manifest_terminate_build 0 +Name: python-Menu +Version: 3.2.2 +Release: 1 +Summary: Easily create command-line menus +License: LICENSE.txt +URL: https://github.com/drich14/Menu/ +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/a1/57/66755041c5fa34386869bb4dda9d79938ef1b06b57360c2e0ccbb81d5b27/Menu-3.2.2.tar.gz +BuildArch: noarch + + +%description +# Menu + +Easily create command-line menus. + +## Install + + pip install Menu + +**Note:** Use with Python 2 requires the [future](https://pypi.org/project/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 + +[example.py](test/example.py) + +## 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/* + +%package -n python3-Menu +Summary: Easily create command-line menus +Provides: python-Menu +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-Menu +# Menu + +Easily create command-line menus. + +## Install + + pip install Menu + +**Note:** Use with Python 2 requires the [future](https://pypi.org/project/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 + +[example.py](test/example.py) + +## 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/* + +%package help +Summary: Development documents and examples for Menu +Provides: python3-Menu-doc +%description help +# Menu + +Easily create command-line menus. + +## Install + + pip install Menu + +**Note:** Use with Python 2 requires the [future](https://pypi.org/project/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 + +[example.py](test/example.py) + +## 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/* + +%prep +%autosetup -n Menu-3.2.2 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-Menu -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 29 2023 Python_Bot <Python_Bot@openeuler.org> - 3.2.2-1 +- Package Spec generated |
