diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-10 04:25:34 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-10 04:25:34 +0000 |
| commit | 9d9892b8982880f39773fb2e4ec403a4e87dc397 (patch) | |
| tree | 58c5adeb9fef11f6cb9f722e2374165fcec53672 | |
| parent | 87caa555eff0c4e294e19294ba453d0a3be398e4 (diff) | |
automatic import of python-discaptyopeneuler20.03
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-discapty.spec | 443 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 445 insertions, 0 deletions
@@ -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 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: + + +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 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: + + +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 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: + + +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 @@ -0,0 +1 @@ +06bde1a1cc73c1f4ea9df92352b48f0b discapty-2.1.2.tar.gz |
