%global _empty_manifest_terminate_build 0 Name: python-easyargs Version: 0.9.4 Release: 1 Summary: Making argument parsing easy License: MIT URL: https://github.com/stedmeister/easyargs Source0: https://mirrors.nju.edu.cn/pypi/web/packages/45/ce/ebbce6a97305e2bd5e2bcfdeb79409ed7d43d1a383b85db52c6bbacd9e4d/easyargs-0.9.4.tar.gz BuildArch: noarch Requires: python3-six Requires: python3-check-manifest Requires: python3-coverage %description A project designed to make command line argument parsing easy. There are many ways to create a command line parser in python: argparse, docopt, click. These are all great options, but require quite a lot of configuration and sometimes you just need a function to be called. Enter easyargs. Define the function that you want to be called, decorate it and let easyargs work out the command line. This is probably best shown with an example that takes one required argument and two optional ones: from __future__ import print_function import easyargs @easyargs def main(name, count=1, greeting='Hello'): """A simple greeting program""" for i in range(count): print('{greeting} {name}!'.format(greeting=greeting, name=name)) if __name__ == '__main__': main() In this example, main is inspected, the arg keywords are turned into positional arguments and the kwarg keywords will be turned into optional arguments. This can be seen if we run the above script with the help flag: $ python simple.py -h usage: simple_test.py [-h] [--count COUNT] [--greeting GREETING] name A simple greeting program positional arguments: name optional arguments: -h, --help show this help message and exit --count COUNT --greeting GREETING A few things worth noting. Firstly, the description is taken from the docstring of the function. Secondly, there is no need to convert count to an integer. Because the default argument is of type int, the value is coerced to an integer: $ python simple.py World Hello World $ python simple.py everybody --count 2 --greeting Hola Hola everybody! Hola everybody! %package -n python3-easyargs Summary: Making argument parsing easy Provides: python-easyargs BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-easyargs A project designed to make command line argument parsing easy. There are many ways to create a command line parser in python: argparse, docopt, click. These are all great options, but require quite a lot of configuration and sometimes you just need a function to be called. Enter easyargs. Define the function that you want to be called, decorate it and let easyargs work out the command line. This is probably best shown with an example that takes one required argument and two optional ones: from __future__ import print_function import easyargs @easyargs def main(name, count=1, greeting='Hello'): """A simple greeting program""" for i in range(count): print('{greeting} {name}!'.format(greeting=greeting, name=name)) if __name__ == '__main__': main() In this example, main is inspected, the arg keywords are turned into positional arguments and the kwarg keywords will be turned into optional arguments. This can be seen if we run the above script with the help flag: $ python simple.py -h usage: simple_test.py [-h] [--count COUNT] [--greeting GREETING] name A simple greeting program positional arguments: name optional arguments: -h, --help show this help message and exit --count COUNT --greeting GREETING A few things worth noting. Firstly, the description is taken from the docstring of the function. Secondly, there is no need to convert count to an integer. Because the default argument is of type int, the value is coerced to an integer: $ python simple.py World Hello World $ python simple.py everybody --count 2 --greeting Hola Hola everybody! Hola everybody! %package help Summary: Development documents and examples for easyargs Provides: python3-easyargs-doc %description help A project designed to make command line argument parsing easy. There are many ways to create a command line parser in python: argparse, docopt, click. These are all great options, but require quite a lot of configuration and sometimes you just need a function to be called. Enter easyargs. Define the function that you want to be called, decorate it and let easyargs work out the command line. This is probably best shown with an example that takes one required argument and two optional ones: from __future__ import print_function import easyargs @easyargs def main(name, count=1, greeting='Hello'): """A simple greeting program""" for i in range(count): print('{greeting} {name}!'.format(greeting=greeting, name=name)) if __name__ == '__main__': main() In this example, main is inspected, the arg keywords are turned into positional arguments and the kwarg keywords will be turned into optional arguments. This can be seen if we run the above script with the help flag: $ python simple.py -h usage: simple_test.py [-h] [--count COUNT] [--greeting GREETING] name A simple greeting program positional arguments: name optional arguments: -h, --help show this help message and exit --count COUNT --greeting GREETING A few things worth noting. Firstly, the description is taken from the docstring of the function. Secondly, there is no need to convert count to an integer. Because the default argument is of type int, the value is coerced to an integer: $ python simple.py World Hello World $ python simple.py everybody --count 2 --greeting Hola Hola everybody! Hola everybody! %prep %autosetup -n easyargs-0.9.4 %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-easyargs -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Thu Mar 09 2023 Python_Bot - 0.9.4-1 - Package Spec generated