summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-18 07:44:10 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-18 07:44:10 +0000
commit02ab1c5306b7b976203214293b29e901c78d325f (patch)
tree0e33f45cadcbecf8041f07bab3044e99a54ab453
parent1bc06847d1c6ecff720c24b4f34573beed37a443 (diff)
automatic import of python-cli2
-rw-r--r--.gitignore1
-rw-r--r--python-cli2.spec153
-rw-r--r--sources1
3 files changed, 155 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..c24cb7c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/cli2-2.6.1.tar.gz
diff --git a/python-cli2.spec b/python-cli2.spec
new file mode 100644
index 0000000..b974a0e
--- /dev/null
+++ b/python-cli2.spec
@@ -0,0 +1,153 @@
+%global _empty_manifest_terminate_build 0
+Name: python-cli2
+Version: 2.6.1
+Release: 1
+Summary: image:: https://yourlabs.io/oss/cli2/badges/master/pipeline.svg
+License: MIT
+URL: https://yourlabs.io/oss/cli2
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/83/f2/d6f30c4f0e212f8946a358969ff8d2310d1194d70b5d964495c77a91016f/cli2-2.6.1.tar.gz
+BuildArch: noarch
+
+
+%description
+cli2 is a little library to build CLIs, which documentation is `available on
+RTFD <https://cli2.readthedocs.io/en/latest/>`_, but it comes with its own demo
+command that may as well be useful to explore Python libraries and call
+functions on the fly.
+Because, initially, cli2 was supposed to just bring Python callables on the CLI
+without even a single line of code::
+ cli2 path.to.your.callable arg1 kwarg1=value
+This command was implemented again in this 10th rewrite of the CLI engine
+extracted from Playlabs, however this implementation features something pretty
+funny: cli2 is a Group subclass which overrides the default Group
+implementation based on the first argument passed on the command line.
+Basically, when you call ``cli2 path.to.module``, it will load a Group of name
+``path.to.module`` which whill load one Command per callable in
+``path.to.module``.
+When you call ``cli2 path.to.function`` it will execute the function.
+As a result, these three commands are strictly equivalent::
+ cli2 cli2.test_node.example_function foo=bar
+ cli2 cli2.test_node example_function foo=bar
+That is because cli2 generates a group with every member of the previous group!
+See for yourself with::
+ cli2 help cli2.test_node
+Or just::
+ cli2 cli2.test_node
+Because cli2.test_node is not a callable but a module, cli2's cli2 CLI created
+a command Group on the fly with the module and added every callable member as
+command.
+When you call a group on the command line, it displays help by default to drive
+the user.
+
+%package -n python3-cli2
+Summary: image:: https://yourlabs.io/oss/cli2/badges/master/pipeline.svg
+Provides: python-cli2
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-cli2
+cli2 is a little library to build CLIs, which documentation is `available on
+RTFD <https://cli2.readthedocs.io/en/latest/>`_, but it comes with its own demo
+command that may as well be useful to explore Python libraries and call
+functions on the fly.
+Because, initially, cli2 was supposed to just bring Python callables on the CLI
+without even a single line of code::
+ cli2 path.to.your.callable arg1 kwarg1=value
+This command was implemented again in this 10th rewrite of the CLI engine
+extracted from Playlabs, however this implementation features something pretty
+funny: cli2 is a Group subclass which overrides the default Group
+implementation based on the first argument passed on the command line.
+Basically, when you call ``cli2 path.to.module``, it will load a Group of name
+``path.to.module`` which whill load one Command per callable in
+``path.to.module``.
+When you call ``cli2 path.to.function`` it will execute the function.
+As a result, these three commands are strictly equivalent::
+ cli2 cli2.test_node.example_function foo=bar
+ cli2 cli2.test_node example_function foo=bar
+That is because cli2 generates a group with every member of the previous group!
+See for yourself with::
+ cli2 help cli2.test_node
+Or just::
+ cli2 cli2.test_node
+Because cli2.test_node is not a callable but a module, cli2's cli2 CLI created
+a command Group on the fly with the module and added every callable member as
+command.
+When you call a group on the command line, it displays help by default to drive
+the user.
+
+%package help
+Summary: Development documents and examples for cli2
+Provides: python3-cli2-doc
+%description help
+cli2 is a little library to build CLIs, which documentation is `available on
+RTFD <https://cli2.readthedocs.io/en/latest/>`_, but it comes with its own demo
+command that may as well be useful to explore Python libraries and call
+functions on the fly.
+Because, initially, cli2 was supposed to just bring Python callables on the CLI
+without even a single line of code::
+ cli2 path.to.your.callable arg1 kwarg1=value
+This command was implemented again in this 10th rewrite of the CLI engine
+extracted from Playlabs, however this implementation features something pretty
+funny: cli2 is a Group subclass which overrides the default Group
+implementation based on the first argument passed on the command line.
+Basically, when you call ``cli2 path.to.module``, it will load a Group of name
+``path.to.module`` which whill load one Command per callable in
+``path.to.module``.
+When you call ``cli2 path.to.function`` it will execute the function.
+As a result, these three commands are strictly equivalent::
+ cli2 cli2.test_node.example_function foo=bar
+ cli2 cli2.test_node example_function foo=bar
+That is because cli2 generates a group with every member of the previous group!
+See for yourself with::
+ cli2 help cli2.test_node
+Or just::
+ cli2 cli2.test_node
+Because cli2.test_node is not a callable but a module, cli2's cli2 CLI created
+a command Group on the fly with the module and added every callable member as
+command.
+When you call a group on the command line, it displays help by default to drive
+the user.
+
+%prep
+%autosetup -n cli2-2.6.1
+
+%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-cli2 -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Thu May 18 2023 Python_Bot <Python_Bot@openeuler.org> - 2.6.1-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..81e578b
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+4d859649e38807efccafbb6430ca102f cli2-2.6.1.tar.gz