%global _empty_manifest_terminate_build 0 Name: python-docopt Version: 0.6.2 Release: 1 Summary: Pythonic argument parser, that will make you smile License: MIT URL: http://docopt.org Source0: https://mirrors.nju.edu.cn/pypi/web/packages/a2/55/8f8cab2afd404cf578136ef2cc5dfb50baa1761b68c9da1fb1e4eed343c9/docopt-0.6.2.tar.gz BuildArch: noarch %description Video introduction to **docopt**: `PyCon UK 2012: Create *beautiful* command-line interfaces with Python `_ New in version 0.6.1: - Fix issue `#85 `_ which caused improper handling of ``[options]`` shortcut if it was present several times. New in version 0.6.0: - New argument ``options_first``, disallows interspersing options and arguments. If you supply ``options_first=True`` to ``docopt``, it will interpret all arguments as positional arguments after first positional argument. - If option with argument could be repeated, its default value will be interpreted as space-separated list. E.g. with ``[default: ./here ./there]`` will be interpreted as ``['./here', './there']``. Breaking changes: - Meaning of ``[options]`` shortcut slightly changed. Previously it ment *"any known option"*. Now it means *"any option not in usage-pattern"*. This avoids the situation when an option is allowed to be repeated unintentionaly. - ``argv`` is ``None`` by default, not ``sys.argv[1:]``. This allows ``docopt`` to always use the *latest* ``sys.argv``, not ``sys.argv`` during import time. Isn't it awesome how ``optparse`` and ``argparse`` generate help messages based on your code?! *Hell no!* You know what's awesome? It's when the option parser *is* generated based on the beautiful help message that you write yourself! This way you don't need to write this stupid repeatable parser-code, and instead can write only the help message--*the way you want it*. **docopt** helps you create most beautiful command-line interfaces *easily*: """Naval Fate. Usage: naval_fate.py ship new ... naval_fate.py ship move [--speed=] naval_fate.py ship shoot naval_fate.py mine (set|remove) [--moored | --drifting] naval_fate.py (-h | --help) naval_fate.py --version Options: -h --help Show this screen. --version Show version. --speed= Speed in knots [default: 10]. --moored Moored (anchored) mine. --drifting Drifting mine. """ from docopt import docopt if __name__ == '__main__': arguments = docopt(__doc__, version='Naval Fate 2.0') print(arguments) Beat that! The option parser is generated based on the docstring above that is passed to ``docopt`` function. ``docopt`` parses the usage pattern (``"Usage: ..."``) and option descriptions (lines starting with dash "``-``") and ensures that the program invocation matches the usage pattern; it parses options, arguments and commands based on that. The basic idea is that *a good help message has all necessary information in it to make a parser*. Also, `PEP 257 `_ recommends putting help message in the module docstrings. %package -n python3-docopt Summary: Pythonic argument parser, that will make you smile Provides: python-docopt BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-docopt Video introduction to **docopt**: `PyCon UK 2012: Create *beautiful* command-line interfaces with Python `_ New in version 0.6.1: - Fix issue `#85 `_ which caused improper handling of ``[options]`` shortcut if it was present several times. New in version 0.6.0: - New argument ``options_first``, disallows interspersing options and arguments. If you supply ``options_first=True`` to ``docopt``, it will interpret all arguments as positional arguments after first positional argument. - If option with argument could be repeated, its default value will be interpreted as space-separated list. E.g. with ``[default: ./here ./there]`` will be interpreted as ``['./here', './there']``. Breaking changes: - Meaning of ``[options]`` shortcut slightly changed. Previously it ment *"any known option"*. Now it means *"any option not in usage-pattern"*. This avoids the situation when an option is allowed to be repeated unintentionaly. - ``argv`` is ``None`` by default, not ``sys.argv[1:]``. This allows ``docopt`` to always use the *latest* ``sys.argv``, not ``sys.argv`` during import time. Isn't it awesome how ``optparse`` and ``argparse`` generate help messages based on your code?! *Hell no!* You know what's awesome? It's when the option parser *is* generated based on the beautiful help message that you write yourself! This way you don't need to write this stupid repeatable parser-code, and instead can write only the help message--*the way you want it*. **docopt** helps you create most beautiful command-line interfaces *easily*: """Naval Fate. Usage: naval_fate.py ship new ... naval_fate.py ship move [--speed=] naval_fate.py ship shoot naval_fate.py mine (set|remove) [--moored | --drifting] naval_fate.py (-h | --help) naval_fate.py --version Options: -h --help Show this screen. --version Show version. --speed= Speed in knots [default: 10]. --moored Moored (anchored) mine. --drifting Drifting mine. """ from docopt import docopt if __name__ == '__main__': arguments = docopt(__doc__, version='Naval Fate 2.0') print(arguments) Beat that! The option parser is generated based on the docstring above that is passed to ``docopt`` function. ``docopt`` parses the usage pattern (``"Usage: ..."``) and option descriptions (lines starting with dash "``-``") and ensures that the program invocation matches the usage pattern; it parses options, arguments and commands based on that. The basic idea is that *a good help message has all necessary information in it to make a parser*. Also, `PEP 257 `_ recommends putting help message in the module docstrings. %package help Summary: Development documents and examples for docopt Provides: python3-docopt-doc %description help Video introduction to **docopt**: `PyCon UK 2012: Create *beautiful* command-line interfaces with Python `_ New in version 0.6.1: - Fix issue `#85 `_ which caused improper handling of ``[options]`` shortcut if it was present several times. New in version 0.6.0: - New argument ``options_first``, disallows interspersing options and arguments. If you supply ``options_first=True`` to ``docopt``, it will interpret all arguments as positional arguments after first positional argument. - If option with argument could be repeated, its default value will be interpreted as space-separated list. E.g. with ``[default: ./here ./there]`` will be interpreted as ``['./here', './there']``. Breaking changes: - Meaning of ``[options]`` shortcut slightly changed. Previously it ment *"any known option"*. Now it means *"any option not in usage-pattern"*. This avoids the situation when an option is allowed to be repeated unintentionaly. - ``argv`` is ``None`` by default, not ``sys.argv[1:]``. This allows ``docopt`` to always use the *latest* ``sys.argv``, not ``sys.argv`` during import time. Isn't it awesome how ``optparse`` and ``argparse`` generate help messages based on your code?! *Hell no!* You know what's awesome? It's when the option parser *is* generated based on the beautiful help message that you write yourself! This way you don't need to write this stupid repeatable parser-code, and instead can write only the help message--*the way you want it*. **docopt** helps you create most beautiful command-line interfaces *easily*: """Naval Fate. Usage: naval_fate.py ship new ... naval_fate.py ship move [--speed=] naval_fate.py ship shoot naval_fate.py mine (set|remove) [--moored | --drifting] naval_fate.py (-h | --help) naval_fate.py --version Options: -h --help Show this screen. --version Show version. --speed= Speed in knots [default: 10]. --moored Moored (anchored) mine. --drifting Drifting mine. """ from docopt import docopt if __name__ == '__main__': arguments = docopt(__doc__, version='Naval Fate 2.0') print(arguments) Beat that! The option parser is generated based on the docstring above that is passed to ``docopt`` function. ``docopt`` parses the usage pattern (``"Usage: ..."``) and option descriptions (lines starting with dash "``-``") and ensures that the program invocation matches the usage pattern; it parses options, arguments and commands based on that. The basic idea is that *a good help message has all necessary information in it to make a parser*. Also, `PEP 257 `_ recommends putting help message in the module docstrings. %prep %autosetup -n docopt-0.6.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-docopt -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Mon Apr 10 2023 Python_Bot - 0.6.2-1 - Package Spec generated