summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-10 04:25:34 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-10 04:25:34 +0000
commit9d9892b8982880f39773fb2e4ec403a4e87dc397 (patch)
tree58c5adeb9fef11f6cb9f722e2374165fcec53672
parent87caa555eff0c4e294e19294ba453d0a3be398e4 (diff)
automatic import of python-discaptyopeneuler20.03
-rw-r--r--.gitignore1
-rw-r--r--python-discapty.spec443
-rw-r--r--sources1
3 files changed, 445 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..0697be2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/discapty-2.1.2.tar.gz
diff --git a/python-discapty.spec b/python-discapty.spec
new file mode 100644
index 0000000..d743371
--- /dev/null
+++ b/python-discapty.spec
@@ -0,0 +1,443 @@
+%global _empty_manifest_terminate_build 0
+Name: python-discapty
+Version: 2.1.2
+Release: 1
+Summary: DisCapTy help you generate obfuscated images, leaving your code easy.
+License: MIT
+URL: https://github.com/Predeactor/DisCapTy
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/9c/92/b99b5776af836e590f4cc62dcc1d1f76e6688ee8a92bb910d75e4be4691a/discapty-2.1.2.tar.gz
+BuildArch: noarch
+
+Requires: python3-pillow
+Requires: python3-pydantic
+Requires: python3-furo
+Requires: python3-Sphinx
+Requires: python3-sphinx-copybutton
+
+%description
+# DisCapTy
+
+![DisCapTy's Logo](.github/logo.png#gh-dark-mode-only)![DisCapTy's Logo](.github/logo-dark.png#gh-light-mode-only)
+
+DisCapTy is a highly type hinted Python module to generate Captcha images without struggling your mind on how to make your own. Everyone can use it!
+
+**Documentation:** <https://discapty.readthedocs.io/>
+
+<div align="center">
+ <a href="https://pypi.org/project/DisCapTy/">
+ <img src="https://img.shields.io/pypi/v/discapty?style=flat-square" alt="DisCapTy's Version" />
+ <img src="https://img.shields.io/pypi/pyversions/discapty?style=flat-square" alt="Python Version Required" />
+ <img src="https://img.shields.io/pypi/dm/discapty?color=blue&style=flat-square" alt="DisCapTy's download" />
+ </a>
+ <a href="https://discapty.readthedocs.io/en/latest/?badge=latest">
+ <img src="https://readthedocs.org/projects/discapty/badge/?version=latest&style=flat-square" alt="Documentation Status" />
+ </a>
+</div>
+
+## Installing
+
+DisCapTy is available on PyPi!
+
+```sh
+pip3 install discapty
+```
+
+To use DisCapTy, you need a Python version equal or greater to `3.7` and below `3.11`.
+
+## Clone & Test the project
+
+This project is dependant of [Poetry](https://python-poetry.org), a dependency management tool. You are most likely going to require this tool to correctly interact with the project & its dependencies, check out [Poetry's documentation](https://python-poetry.org/docs) for how to install it.
+
+To clone the repository: `git clone https://github.com/Predeactor/DisCapTy.git`
+
+To install dependencies: `poetry install`
+
+To run tests: `poetry run python -m unittest`
+
+## Creating Captcha
+
+For DisCapTy, a Captcha is simply a code with any possible objects that can be returned, for example, it is one code (Like "12345") with an image (Usually a `PIL.Image.Image` object)
+This is because DisCapTy uses the concept of generators that are used to generate a captcha from a given code, and it can return anything.
+
+DisCapTy comes with 3 builtin generators:
+
+- TextGenerator : Text based captcha
+- WheezyGenerator : Image based captcha
+- ImageGenerator : Image based captcha
+
+### Creating Captcha manually
+
+```py
+import discapty
+
+def generate_a_captcha(initial_input: str) -> discapty.Captcha:
+ # This generator returns an obfuscated text.
+ captcha_for_user = discapty.TextGenerator().generate(initial_input)
+ # Create a Captcha object, the first argument is the clear code, the second is the obfuscated code. Anything goes.
+ return discapty.Captcha(initial_input, captcha_for_user)
+
+# Generate your Captcha.
+captcha = generate_a_captcha("12345")
+
+# Show the obfuscated code. See https://discapty.readthedocs.io for more information on this object.
+show_captcha_to_user(captcha.captcha)
+```
+
+### Checking user's input
+
+```py
+import discapty
+
+# Generate your Captcha.
+captcha: discapty.Captcha = generate_a_captcha("12345")
+
+# This is your user's input here
+user_input: str = '12345'
+
+if captcha.check(user_input) is True:
+ # The user input is correct
+ print("Correct!")
+else:
+ # The user input is incorrect
+ print("Incorrect!")
+```
+
+What's great with the `.check` method is that you can specify if you need to remove space in the user's input and/or check casing.
+
+Creating Captcha manually is not a recommended way, because DisCapTy comes with its opinionated challenge runner & is inefficient anyway.
+
+### Create a Challenge
+
+```py
+import discapty
+
+challenge = discapty.Challenge(discapty.TextGenerator(), retries=3)
+
+captcha = challenge.begin()
+
+# We cannot provide typehint here, `captcha` is a `typing.Any` and cannot help you, it'll be your
+# job to know what you'll get as a captcha.
+send_captcha_to_user(captcha)
+user_input: str = get_user_input()
+
+is_correct: bool = challenge.check(user_input)
+# If the user's input is correct, the challenge ends, if not, `challenge.attempted_tries` will get
+# +1, and if it is greater than the retries that has been set, then an error is raised when using
+# `.check`
+```
+
+Please see the [documentation](https://discapty.readthedocs.io/) for more information on how the library work.
+
+## Contact
+
+You can join my Discord server for any help: <https://discord.gg/aPVupKAxxP>
+
+DisCapTy is an open-source project distributed under the MIT license:
+![PyPI - License](https://img.shields.io/pypi/l/discapty?style=flat-square)
+
+DisCapTy uses the [Roboto](https://fonts.google.com/specimen/Roboto) font as default font.
+[This font](https://fonts.google.com/specimen/Roboto) is licensed under [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0).
+
+
+%package -n python3-discapty
+Summary: DisCapTy help you generate obfuscated images, leaving your code easy.
+Provides: python-discapty
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-discapty
+# DisCapTy
+
+![DisCapTy's Logo](.github/logo.png#gh-dark-mode-only)![DisCapTy's Logo](.github/logo-dark.png#gh-light-mode-only)
+
+DisCapTy is a highly type hinted Python module to generate Captcha images without struggling your mind on how to make your own. Everyone can use it!
+
+**Documentation:** <https://discapty.readthedocs.io/>
+
+<div align="center">
+ <a href="https://pypi.org/project/DisCapTy/">
+ <img src="https://img.shields.io/pypi/v/discapty?style=flat-square" alt="DisCapTy's Version" />
+ <img src="https://img.shields.io/pypi/pyversions/discapty?style=flat-square" alt="Python Version Required" />
+ <img src="https://img.shields.io/pypi/dm/discapty?color=blue&style=flat-square" alt="DisCapTy's download" />
+ </a>
+ <a href="https://discapty.readthedocs.io/en/latest/?badge=latest">
+ <img src="https://readthedocs.org/projects/discapty/badge/?version=latest&style=flat-square" alt="Documentation Status" />
+ </a>
+</div>
+
+## Installing
+
+DisCapTy is available on PyPi!
+
+```sh
+pip3 install discapty
+```
+
+To use DisCapTy, you need a Python version equal or greater to `3.7` and below `3.11`.
+
+## Clone & Test the project
+
+This project is dependant of [Poetry](https://python-poetry.org), a dependency management tool. You are most likely going to require this tool to correctly interact with the project & its dependencies, check out [Poetry's documentation](https://python-poetry.org/docs) for how to install it.
+
+To clone the repository: `git clone https://github.com/Predeactor/DisCapTy.git`
+
+To install dependencies: `poetry install`
+
+To run tests: `poetry run python -m unittest`
+
+## Creating Captcha
+
+For DisCapTy, a Captcha is simply a code with any possible objects that can be returned, for example, it is one code (Like "12345") with an image (Usually a `PIL.Image.Image` object)
+This is because DisCapTy uses the concept of generators that are used to generate a captcha from a given code, and it can return anything.
+
+DisCapTy comes with 3 builtin generators:
+
+- TextGenerator : Text based captcha
+- WheezyGenerator : Image based captcha
+- ImageGenerator : Image based captcha
+
+### Creating Captcha manually
+
+```py
+import discapty
+
+def generate_a_captcha(initial_input: str) -> discapty.Captcha:
+ # This generator returns an obfuscated text.
+ captcha_for_user = discapty.TextGenerator().generate(initial_input)
+ # Create a Captcha object, the first argument is the clear code, the second is the obfuscated code. Anything goes.
+ return discapty.Captcha(initial_input, captcha_for_user)
+
+# Generate your Captcha.
+captcha = generate_a_captcha("12345")
+
+# Show the obfuscated code. See https://discapty.readthedocs.io for more information on this object.
+show_captcha_to_user(captcha.captcha)
+```
+
+### Checking user's input
+
+```py
+import discapty
+
+# Generate your Captcha.
+captcha: discapty.Captcha = generate_a_captcha("12345")
+
+# This is your user's input here
+user_input: str = '12345'
+
+if captcha.check(user_input) is True:
+ # The user input is correct
+ print("Correct!")
+else:
+ # The user input is incorrect
+ print("Incorrect!")
+```
+
+What's great with the `.check` method is that you can specify if you need to remove space in the user's input and/or check casing.
+
+Creating Captcha manually is not a recommended way, because DisCapTy comes with its opinionated challenge runner & is inefficient anyway.
+
+### Create a Challenge
+
+```py
+import discapty
+
+challenge = discapty.Challenge(discapty.TextGenerator(), retries=3)
+
+captcha = challenge.begin()
+
+# We cannot provide typehint here, `captcha` is a `typing.Any` and cannot help you, it'll be your
+# job to know what you'll get as a captcha.
+send_captcha_to_user(captcha)
+user_input: str = get_user_input()
+
+is_correct: bool = challenge.check(user_input)
+# If the user's input is correct, the challenge ends, if not, `challenge.attempted_tries` will get
+# +1, and if it is greater than the retries that has been set, then an error is raised when using
+# `.check`
+```
+
+Please see the [documentation](https://discapty.readthedocs.io/) for more information on how the library work.
+
+## Contact
+
+You can join my Discord server for any help: <https://discord.gg/aPVupKAxxP>
+
+DisCapTy is an open-source project distributed under the MIT license:
+![PyPI - License](https://img.shields.io/pypi/l/discapty?style=flat-square)
+
+DisCapTy uses the [Roboto](https://fonts.google.com/specimen/Roboto) font as default font.
+[This font](https://fonts.google.com/specimen/Roboto) is licensed under [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0).
+
+
+%package help
+Summary: Development documents and examples for discapty
+Provides: python3-discapty-doc
+%description help
+# DisCapTy
+
+![DisCapTy's Logo](.github/logo.png#gh-dark-mode-only)![DisCapTy's Logo](.github/logo-dark.png#gh-light-mode-only)
+
+DisCapTy is a highly type hinted Python module to generate Captcha images without struggling your mind on how to make your own. Everyone can use it!
+
+**Documentation:** <https://discapty.readthedocs.io/>
+
+<div align="center">
+ <a href="https://pypi.org/project/DisCapTy/">
+ <img src="https://img.shields.io/pypi/v/discapty?style=flat-square" alt="DisCapTy's Version" />
+ <img src="https://img.shields.io/pypi/pyversions/discapty?style=flat-square" alt="Python Version Required" />
+ <img src="https://img.shields.io/pypi/dm/discapty?color=blue&style=flat-square" alt="DisCapTy's download" />
+ </a>
+ <a href="https://discapty.readthedocs.io/en/latest/?badge=latest">
+ <img src="https://readthedocs.org/projects/discapty/badge/?version=latest&style=flat-square" alt="Documentation Status" />
+ </a>
+</div>
+
+## Installing
+
+DisCapTy is available on PyPi!
+
+```sh
+pip3 install discapty
+```
+
+To use DisCapTy, you need a Python version equal or greater to `3.7` and below `3.11`.
+
+## Clone & Test the project
+
+This project is dependant of [Poetry](https://python-poetry.org), a dependency management tool. You are most likely going to require this tool to correctly interact with the project & its dependencies, check out [Poetry's documentation](https://python-poetry.org/docs) for how to install it.
+
+To clone the repository: `git clone https://github.com/Predeactor/DisCapTy.git`
+
+To install dependencies: `poetry install`
+
+To run tests: `poetry run python -m unittest`
+
+## Creating Captcha
+
+For DisCapTy, a Captcha is simply a code with any possible objects that can be returned, for example, it is one code (Like "12345") with an image (Usually a `PIL.Image.Image` object)
+This is because DisCapTy uses the concept of generators that are used to generate a captcha from a given code, and it can return anything.
+
+DisCapTy comes with 3 builtin generators:
+
+- TextGenerator : Text based captcha
+- WheezyGenerator : Image based captcha
+- ImageGenerator : Image based captcha
+
+### Creating Captcha manually
+
+```py
+import discapty
+
+def generate_a_captcha(initial_input: str) -> discapty.Captcha:
+ # This generator returns an obfuscated text.
+ captcha_for_user = discapty.TextGenerator().generate(initial_input)
+ # Create a Captcha object, the first argument is the clear code, the second is the obfuscated code. Anything goes.
+ return discapty.Captcha(initial_input, captcha_for_user)
+
+# Generate your Captcha.
+captcha = generate_a_captcha("12345")
+
+# Show the obfuscated code. See https://discapty.readthedocs.io for more information on this object.
+show_captcha_to_user(captcha.captcha)
+```
+
+### Checking user's input
+
+```py
+import discapty
+
+# Generate your Captcha.
+captcha: discapty.Captcha = generate_a_captcha("12345")
+
+# This is your user's input here
+user_input: str = '12345'
+
+if captcha.check(user_input) is True:
+ # The user input is correct
+ print("Correct!")
+else:
+ # The user input is incorrect
+ print("Incorrect!")
+```
+
+What's great with the `.check` method is that you can specify if you need to remove space in the user's input and/or check casing.
+
+Creating Captcha manually is not a recommended way, because DisCapTy comes with its opinionated challenge runner & is inefficient anyway.
+
+### Create a Challenge
+
+```py
+import discapty
+
+challenge = discapty.Challenge(discapty.TextGenerator(), retries=3)
+
+captcha = challenge.begin()
+
+# We cannot provide typehint here, `captcha` is a `typing.Any` and cannot help you, it'll be your
+# job to know what you'll get as a captcha.
+send_captcha_to_user(captcha)
+user_input: str = get_user_input()
+
+is_correct: bool = challenge.check(user_input)
+# If the user's input is correct, the challenge ends, if not, `challenge.attempted_tries` will get
+# +1, and if it is greater than the retries that has been set, then an error is raised when using
+# `.check`
+```
+
+Please see the [documentation](https://discapty.readthedocs.io/) for more information on how the library work.
+
+## Contact
+
+You can join my Discord server for any help: <https://discord.gg/aPVupKAxxP>
+
+DisCapTy is an open-source project distributed under the MIT license:
+![PyPI - License](https://img.shields.io/pypi/l/discapty?style=flat-square)
+
+DisCapTy uses the [Roboto](https://fonts.google.com/specimen/Roboto) font as default font.
+[This font](https://fonts.google.com/specimen/Roboto) is licensed under [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0).
+
+
+%prep
+%autosetup -n discapty-2.1.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-discapty -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 2.1.2-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..05641dd
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+06bde1a1cc73c1f4ea9df92352b48f0b discapty-2.1.2.tar.gz