summaryrefslogtreecommitdiff
path: root/python-docopt.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-04-10 08:12:31 +0000
committerCoprDistGit <infra@openeuler.org>2023-04-10 08:12:31 +0000
commit625f5a81e11fe79bd481488e521c287f0b6f2747 (patch)
treea39980563e5dc52226936fd96751f1c183276b35 /python-docopt.spec
parentf1e16e85babebec6921e25d1150b4e3400389839 (diff)
automatic import of python-docopt
Diffstat (limited to 'python-docopt.spec')
-rw-r--r--python-docopt.spec246
1 files changed, 246 insertions, 0 deletions
diff --git a/python-docopt.spec b/python-docopt.spec
new file mode 100644
index 0000000..dd7f017
--- /dev/null
+++ b/python-docopt.spec
@@ -0,0 +1,246 @@
+%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 <http://youtu.be/pXhcPJK5cMc>`_
+ New in version 0.6.1:
+ - Fix issue `#85 <https://github.com/docopt/docopt/issues/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 <name>...
+ naval_fate.py ship <name> move <x> <y> [--speed=<kn>]
+ naval_fate.py ship shoot <x> <y>
+ naval_fate.py mine (set|remove) <x> <y> [--moored | --drifting]
+ naval_fate.py (-h | --help)
+ naval_fate.py --version
+ Options:
+ -h --help Show this screen.
+ --version Show version.
+ --speed=<kn> 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 <http://www.python.org/dev/peps/pep-0257/>`_ 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 <http://youtu.be/pXhcPJK5cMc>`_
+ New in version 0.6.1:
+ - Fix issue `#85 <https://github.com/docopt/docopt/issues/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 <name>...
+ naval_fate.py ship <name> move <x> <y> [--speed=<kn>]
+ naval_fate.py ship shoot <x> <y>
+ naval_fate.py mine (set|remove) <x> <y> [--moored | --drifting]
+ naval_fate.py (-h | --help)
+ naval_fate.py --version
+ Options:
+ -h --help Show this screen.
+ --version Show version.
+ --speed=<kn> 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 <http://www.python.org/dev/peps/pep-0257/>`_ 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 <http://youtu.be/pXhcPJK5cMc>`_
+ New in version 0.6.1:
+ - Fix issue `#85 <https://github.com/docopt/docopt/issues/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 <name>...
+ naval_fate.py ship <name> move <x> <y> [--speed=<kn>]
+ naval_fate.py ship shoot <x> <y>
+ naval_fate.py mine (set|remove) <x> <y> [--moored | --drifting]
+ naval_fate.py (-h | --help)
+ naval_fate.py --version
+ Options:
+ -h --help Show this screen.
+ --version Show version.
+ --speed=<kn> 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 <http://www.python.org/dev/peps/pep-0257/>`_ 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 <Python_Bot@openeuler.org> - 0.6.2-1
+- Package Spec generated