summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-17 04:25:53 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-17 04:25:53 +0000
commit4f75223548e040a34eb09f9b7f355f6f989ce052 (patch)
tree3fd3ef3f2265793cc4d50a26dc8c7e7eb9d2f30a
parent3c8703b8e9b8d38ff31f2e98e7795e72e68c853d (diff)
automatic import of python-columbo
-rw-r--r--.gitignore1
-rw-r--r--python-columbo.spec536
-rw-r--r--sources1
3 files changed, 538 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..125e758 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/columbo-0.13.0.post1.tar.gz
diff --git a/python-columbo.spec b/python-columbo.spec
new file mode 100644
index 0000000..0c5b3b4
--- /dev/null
+++ b/python-columbo.spec
@@ -0,0 +1,536 @@
+%global _empty_manifest_terminate_build 0
+Name: python-columbo
+Version: 0.13.0.post1
+Release: 1
+Summary: Specify a dynamic set of questions to ask a user and get their answers.
+License: MIT License
+URL: https://github.com/plannigan/columbo
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/85/f6/a82a7eadfa515d2e0b1126ed359bbc0af14b18910667ecbb9288e87d7802/columbo-0.13.0.post1.tar.gz
+BuildArch: noarch
+
+Requires: python3-prompt-toolkit
+Requires: python3-typing-extensions
+
+%description
+[![CI pipeline status](https://github.com/plannigan/columbo/workflows/CI/badge.svg?branch=main)][ci]
+[![PyPI](https://img.shields.io/pypi/v/columbo)][pypi]
+[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/columbo)][pypi]
+[![codecov](https://codecov.io/gh/plannigan/columbo/branch/main/graph/badge.svg)][codecov]
+[![Checked with mypy](https://img.shields.io/badge/mypy-checked-blue)][mypy-home]
+[![Code style: black](https://img.shields.io/badge/code%20style-black-black.svg)][black-home]
+
+# Columbo
+
+Specify a dynamic set of questions to ask a user and get their answers.
+
+`columbo`'s feature set allows a program to:
+
+* Ask multiple types of questions:
+ * Yes or No
+ * Multiple choice
+ * Open-ended
+* Validate the response provided by the user.
+* Use answers from earlier questions:
+ * As part of the text of a question
+ * As part of the text of a default value
+ * To decide if a question should be skipped
+* Accept answers from the command line in addition to prompting the user.
+
+## Example
+
+### User Prompts
+
+The primary use of `columbo` is to define a sequence of interactions that are used to prompt a user to provide answers
+using a terminal. Below is a sample which shows some ways this can be used.
+
+```python
+import columbo
+
+interactions = [
+ columbo.Echo("Welcome to the Columbo example"),
+ columbo.Acknowledge(
+ "Press enter to start"
+ ),
+ columbo.BasicQuestion(
+ "user",
+ "What is your name?",
+ default="Patrick",
+ ),
+ columbo.BasicQuestion(
+ "user_email",
+ lambda answers: f"""What email address should be used to contact {answers["user"]}?""",
+ default="me@example.com"
+ ),
+ columbo.Choice(
+ "mood",
+ "How are you feeling today?",
+ options={
+ "happy": "😀",
+ "sad": "😢",
+ "sleepy": "🥱",
+ "confused": "🤔",
+ },
+ default="happy",
+ ),
+ columbo.Confirm("likes_dogs", "Do you like dogs?", default=True),
+]
+
+answers = columbo.get_answers(interactions)
+print(answers)
+```
+
+Below shows the output when the user accepts the default values for most of the questions. The user provides a different
+value for the email and explicitly confirms that they like dogs.
+
+```text
+Welcome to the Columbo example
+Press enter to start
+
+What is your name? [Patrick]:
+
+What email address should be used to contact Patrick? [me@example.com]: patrick@example.com
+
+How are you feeling today?
+1 - 😀
+2 - 😢
+3 - 🥱
+4 - 🤔
+Enter the number of your choice [1]:
+
+Do you like dogs? (Y/n): y
+
+{'user': 'Patrick', 'user_email': 'patrick@example.com', 'mood': 'happy', 'likes_dogs': True}
+```
+
+### Command Line Answers
+
+In addition to the interactive prompts, `columbo` can also parse command line arguments for interactions. This is done by
+changing `columbo.get_answers()` to `columbo.parse_args()`. Below shows the output when using the same interactions from above.
+
+```shell
+$ python columbo_example.py --user-email patrick@example.com --likes-dogs
+{'user': 'Patrick', 'user_email': 'patrick@example.com', 'mood': 'happy', 'likes_dogs': True}
+```
+
+<details>
+ <summary>The full example</summary>
+
+```python
+import columbo
+
+interactions = [
+ columbo.Echo("Welcome to the Columbo example"),
+ columbo.Acknowledge(
+ "Press enter to start"
+ ),
+ columbo.BasicQuestion(
+ "user",
+ "What is your name?",
+ default="Patrick",
+ ),
+ columbo.BasicQuestion(
+ "user_email",
+ lambda answers: f"""What email address should be used to contact {answers["user"]}?""",
+ default="me@example.com"
+ ),
+ columbo.Choice(
+ "mood",
+ "How are you feeling today?",
+ options=["happy", "sad", "sleepy", "confused"],
+ default="happy",
+ ),
+ columbo.Confirm("likes_dogs", "Do you like dogs?", default=True),
+]
+
+answers = columbo.parse_args(interactions)
+print(answers)
+```
+</details>
+
+## Documentation
+
+Check out the [project documentation][columbo-docs].
+
+For an overview on how repository structure and how to work with the code base, read the
+[Development Guide][development-docs].
+
+
+## Credits
+
+The development of this project was originally funded and incubated by [Wayfair](https://github.com/wayfair-incubator).
+
+[ci]: https://github.com/plannigan/columbo/actions
+[pypi]: https://pypi.org/project/columbo/
+[codecov]: https://codecov.io/gh/plannigan/columbo
+[mypy-home]: http://mypy-lang.org/
+[black-home]: https://github.com/psf/black
+[columbo-docs]: https://plannigan.github.io/columbo/latest/
+[development-docs]: https://plannigan.github.io/columbo/latest/development-guide/
+
+
+%package -n python3-columbo
+Summary: Specify a dynamic set of questions to ask a user and get their answers.
+Provides: python-columbo
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-columbo
+[![CI pipeline status](https://github.com/plannigan/columbo/workflows/CI/badge.svg?branch=main)][ci]
+[![PyPI](https://img.shields.io/pypi/v/columbo)][pypi]
+[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/columbo)][pypi]
+[![codecov](https://codecov.io/gh/plannigan/columbo/branch/main/graph/badge.svg)][codecov]
+[![Checked with mypy](https://img.shields.io/badge/mypy-checked-blue)][mypy-home]
+[![Code style: black](https://img.shields.io/badge/code%20style-black-black.svg)][black-home]
+
+# Columbo
+
+Specify a dynamic set of questions to ask a user and get their answers.
+
+`columbo`'s feature set allows a program to:
+
+* Ask multiple types of questions:
+ * Yes or No
+ * Multiple choice
+ * Open-ended
+* Validate the response provided by the user.
+* Use answers from earlier questions:
+ * As part of the text of a question
+ * As part of the text of a default value
+ * To decide if a question should be skipped
+* Accept answers from the command line in addition to prompting the user.
+
+## Example
+
+### User Prompts
+
+The primary use of `columbo` is to define a sequence of interactions that are used to prompt a user to provide answers
+using a terminal. Below is a sample which shows some ways this can be used.
+
+```python
+import columbo
+
+interactions = [
+ columbo.Echo("Welcome to the Columbo example"),
+ columbo.Acknowledge(
+ "Press enter to start"
+ ),
+ columbo.BasicQuestion(
+ "user",
+ "What is your name?",
+ default="Patrick",
+ ),
+ columbo.BasicQuestion(
+ "user_email",
+ lambda answers: f"""What email address should be used to contact {answers["user"]}?""",
+ default="me@example.com"
+ ),
+ columbo.Choice(
+ "mood",
+ "How are you feeling today?",
+ options={
+ "happy": "😀",
+ "sad": "😢",
+ "sleepy": "🥱",
+ "confused": "🤔",
+ },
+ default="happy",
+ ),
+ columbo.Confirm("likes_dogs", "Do you like dogs?", default=True),
+]
+
+answers = columbo.get_answers(interactions)
+print(answers)
+```
+
+Below shows the output when the user accepts the default values for most of the questions. The user provides a different
+value for the email and explicitly confirms that they like dogs.
+
+```text
+Welcome to the Columbo example
+Press enter to start
+
+What is your name? [Patrick]:
+
+What email address should be used to contact Patrick? [me@example.com]: patrick@example.com
+
+How are you feeling today?
+1 - 😀
+2 - 😢
+3 - 🥱
+4 - 🤔
+Enter the number of your choice [1]:
+
+Do you like dogs? (Y/n): y
+
+{'user': 'Patrick', 'user_email': 'patrick@example.com', 'mood': 'happy', 'likes_dogs': True}
+```
+
+### Command Line Answers
+
+In addition to the interactive prompts, `columbo` can also parse command line arguments for interactions. This is done by
+changing `columbo.get_answers()` to `columbo.parse_args()`. Below shows the output when using the same interactions from above.
+
+```shell
+$ python columbo_example.py --user-email patrick@example.com --likes-dogs
+{'user': 'Patrick', 'user_email': 'patrick@example.com', 'mood': 'happy', 'likes_dogs': True}
+```
+
+<details>
+ <summary>The full example</summary>
+
+```python
+import columbo
+
+interactions = [
+ columbo.Echo("Welcome to the Columbo example"),
+ columbo.Acknowledge(
+ "Press enter to start"
+ ),
+ columbo.BasicQuestion(
+ "user",
+ "What is your name?",
+ default="Patrick",
+ ),
+ columbo.BasicQuestion(
+ "user_email",
+ lambda answers: f"""What email address should be used to contact {answers["user"]}?""",
+ default="me@example.com"
+ ),
+ columbo.Choice(
+ "mood",
+ "How are you feeling today?",
+ options=["happy", "sad", "sleepy", "confused"],
+ default="happy",
+ ),
+ columbo.Confirm("likes_dogs", "Do you like dogs?", default=True),
+]
+
+answers = columbo.parse_args(interactions)
+print(answers)
+```
+</details>
+
+## Documentation
+
+Check out the [project documentation][columbo-docs].
+
+For an overview on how repository structure and how to work with the code base, read the
+[Development Guide][development-docs].
+
+
+## Credits
+
+The development of this project was originally funded and incubated by [Wayfair](https://github.com/wayfair-incubator).
+
+[ci]: https://github.com/plannigan/columbo/actions
+[pypi]: https://pypi.org/project/columbo/
+[codecov]: https://codecov.io/gh/plannigan/columbo
+[mypy-home]: http://mypy-lang.org/
+[black-home]: https://github.com/psf/black
+[columbo-docs]: https://plannigan.github.io/columbo/latest/
+[development-docs]: https://plannigan.github.io/columbo/latest/development-guide/
+
+
+%package help
+Summary: Development documents and examples for columbo
+Provides: python3-columbo-doc
+%description help
+[![CI pipeline status](https://github.com/plannigan/columbo/workflows/CI/badge.svg?branch=main)][ci]
+[![PyPI](https://img.shields.io/pypi/v/columbo)][pypi]
+[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/columbo)][pypi]
+[![codecov](https://codecov.io/gh/plannigan/columbo/branch/main/graph/badge.svg)][codecov]
+[![Checked with mypy](https://img.shields.io/badge/mypy-checked-blue)][mypy-home]
+[![Code style: black](https://img.shields.io/badge/code%20style-black-black.svg)][black-home]
+
+# Columbo
+
+Specify a dynamic set of questions to ask a user and get their answers.
+
+`columbo`'s feature set allows a program to:
+
+* Ask multiple types of questions:
+ * Yes or No
+ * Multiple choice
+ * Open-ended
+* Validate the response provided by the user.
+* Use answers from earlier questions:
+ * As part of the text of a question
+ * As part of the text of a default value
+ * To decide if a question should be skipped
+* Accept answers from the command line in addition to prompting the user.
+
+## Example
+
+### User Prompts
+
+The primary use of `columbo` is to define a sequence of interactions that are used to prompt a user to provide answers
+using a terminal. Below is a sample which shows some ways this can be used.
+
+```python
+import columbo
+
+interactions = [
+ columbo.Echo("Welcome to the Columbo example"),
+ columbo.Acknowledge(
+ "Press enter to start"
+ ),
+ columbo.BasicQuestion(
+ "user",
+ "What is your name?",
+ default="Patrick",
+ ),
+ columbo.BasicQuestion(
+ "user_email",
+ lambda answers: f"""What email address should be used to contact {answers["user"]}?""",
+ default="me@example.com"
+ ),
+ columbo.Choice(
+ "mood",
+ "How are you feeling today?",
+ options={
+ "happy": "😀",
+ "sad": "😢",
+ "sleepy": "🥱",
+ "confused": "🤔",
+ },
+ default="happy",
+ ),
+ columbo.Confirm("likes_dogs", "Do you like dogs?", default=True),
+]
+
+answers = columbo.get_answers(interactions)
+print(answers)
+```
+
+Below shows the output when the user accepts the default values for most of the questions. The user provides a different
+value for the email and explicitly confirms that they like dogs.
+
+```text
+Welcome to the Columbo example
+Press enter to start
+
+What is your name? [Patrick]:
+
+What email address should be used to contact Patrick? [me@example.com]: patrick@example.com
+
+How are you feeling today?
+1 - 😀
+2 - 😢
+3 - 🥱
+4 - 🤔
+Enter the number of your choice [1]:
+
+Do you like dogs? (Y/n): y
+
+{'user': 'Patrick', 'user_email': 'patrick@example.com', 'mood': 'happy', 'likes_dogs': True}
+```
+
+### Command Line Answers
+
+In addition to the interactive prompts, `columbo` can also parse command line arguments for interactions. This is done by
+changing `columbo.get_answers()` to `columbo.parse_args()`. Below shows the output when using the same interactions from above.
+
+```shell
+$ python columbo_example.py --user-email patrick@example.com --likes-dogs
+{'user': 'Patrick', 'user_email': 'patrick@example.com', 'mood': 'happy', 'likes_dogs': True}
+```
+
+<details>
+ <summary>The full example</summary>
+
+```python
+import columbo
+
+interactions = [
+ columbo.Echo("Welcome to the Columbo example"),
+ columbo.Acknowledge(
+ "Press enter to start"
+ ),
+ columbo.BasicQuestion(
+ "user",
+ "What is your name?",
+ default="Patrick",
+ ),
+ columbo.BasicQuestion(
+ "user_email",
+ lambda answers: f"""What email address should be used to contact {answers["user"]}?""",
+ default="me@example.com"
+ ),
+ columbo.Choice(
+ "mood",
+ "How are you feeling today?",
+ options=["happy", "sad", "sleepy", "confused"],
+ default="happy",
+ ),
+ columbo.Confirm("likes_dogs", "Do you like dogs?", default=True),
+]
+
+answers = columbo.parse_args(interactions)
+print(answers)
+```
+</details>
+
+## Documentation
+
+Check out the [project documentation][columbo-docs].
+
+For an overview on how repository structure and how to work with the code base, read the
+[Development Guide][development-docs].
+
+
+## Credits
+
+The development of this project was originally funded and incubated by [Wayfair](https://github.com/wayfair-incubator).
+
+[ci]: https://github.com/plannigan/columbo/actions
+[pypi]: https://pypi.org/project/columbo/
+[codecov]: https://codecov.io/gh/plannigan/columbo
+[mypy-home]: http://mypy-lang.org/
+[black-home]: https://github.com/psf/black
+[columbo-docs]: https://plannigan.github.io/columbo/latest/
+[development-docs]: https://plannigan.github.io/columbo/latest/development-guide/
+
+
+%prep
+%autosetup -n columbo-0.13.0.post1
+
+%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-columbo -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed May 17 2023 Python_Bot <Python_Bot@openeuler.org> - 0.13.0.post1-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..963e6c9
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+6688bea80ea92dd2b793c8ccd9f77ba7 columbo-0.13.0.post1.tar.gz