diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-ansiwrap.spec | 267 | ||||
| -rw-r--r-- | sources | 1 | 
3 files changed, 269 insertions, 0 deletions
| @@ -0,0 +1 @@ +/ansiwrap-0.8.4.zip diff --git a/python-ansiwrap.spec b/python-ansiwrap.spec new file mode 100644 index 0000000..33c9a2f --- /dev/null +++ b/python-ansiwrap.spec @@ -0,0 +1,267 @@ +%global _empty_manifest_terminate_build 0 +Name:		python-ansiwrap +Version:	0.8.4 +Release:	1 +Summary:	textwrap, but savvy to ANSI colors and styles +License:	Apache License 2.0 +URL:		https://github.com/jonathaneunice/ansiwrap +Source0:	https://mirrors.nju.edu.cn/pypi/web/packages/7c/45/2616341cfcace37d4619d5106a85fcc24f2170d1a161bc5f7fdb81772fbc/ansiwrap-0.8.4.zip +BuildArch:	noarch + + +%description + +| |travisci| |version| |versions| |impls| |wheel| |coverage| + +.. |travisci| image:: https://api.travis-ci.org/jonathaneunice/ansiwrap.svg +    :target: http://travis-ci.org/jonathaneunice/ansiwrap + +.. |version| image:: http://img.shields.io/pypi/v/ansiwrap.svg?style=flat +    :alt: PyPI Package latest release +    :target: https://pypi.python.org/pypi/ansiwrap + +.. |versions| image:: https://img.shields.io/pypi/pyversions/ansiwrap.svg +    :alt: Supported versions +    :target: https://pypi.python.org/pypi/ansiwrap + +.. |impls| image:: https://img.shields.io/pypi/implementation/ansiwrap.svg +    :alt: Supported implementations +    :target: https://pypi.python.org/pypi/ansiwrap + +.. |wheel| image:: https://img.shields.io/pypi/wheel/ansiwrap.svg +    :alt: Wheel packaging support +    :target: https://pypi.python.org/pypi/ansiwrap + +.. |coverage| image:: https://img.shields.io/badge/test_coverage-99%25-0000FF.svg +    :alt: Test line coverage +    :target: https://pypi.python.org/pypi/ansiwrap + + +``ansiwrap`` wraps text, like the standard ``textwrap`` module. +But it also correctly wraps text that contains ANSI control +sequences that colorize or style text. + +Where ``textwrap`` is fooled by the raw string length of those control codes, +``ansiwrap`` is not; it understands that however much those codes affect color +and display style, they have no logical length. + +The API mirrors the ``wrap``, ``fill``, and ``shorten`` +functions of ``textwrap``. For example:: + +    from __future__ import print_function +    from colors import *     # ansicolors on PyPI +    from ansiwrap import * + +    s = ' '.join([red('this string'), +                  blue('is going on a bit long'), +                  green('and may need to be'), +                  color('shortened a bit', fg='purple')]) + +    print('-- original string --') +    print(s) +    print('-- now filled --') +    print(fill(s, 20)) +    print('-- now shortened / truncated --') +    print(shorten(s, 20, placeholder='...')) + +It also exports several other functions: + +* ``ansilen`` (giving the effective length of a string, ignoring ANSI control codes) +* ``ansi_terminate_lines`` (propagates control codes though a list of strings/lines +  and terminates each line.) +* ``strip_color`` (removes ANSI control codes from a string) + +See also the enclosed ``demo.py``. + +.. image:: https://content.screencast.com/users/jonathaneunice/folders/Jing/media/8db64be2-01cc-4da4-b46a-789c53c63b44/00000569.png +   :align: center + + +%package -n python3-ansiwrap +Summary:	textwrap, but savvy to ANSI colors and styles +Provides:	python-ansiwrap +BuildRequires:	python3-devel +BuildRequires:	python3-setuptools +BuildRequires:	python3-pip +%description -n python3-ansiwrap + +| |travisci| |version| |versions| |impls| |wheel| |coverage| + +.. |travisci| image:: https://api.travis-ci.org/jonathaneunice/ansiwrap.svg +    :target: http://travis-ci.org/jonathaneunice/ansiwrap + +.. |version| image:: http://img.shields.io/pypi/v/ansiwrap.svg?style=flat +    :alt: PyPI Package latest release +    :target: https://pypi.python.org/pypi/ansiwrap + +.. |versions| image:: https://img.shields.io/pypi/pyversions/ansiwrap.svg +    :alt: Supported versions +    :target: https://pypi.python.org/pypi/ansiwrap + +.. |impls| image:: https://img.shields.io/pypi/implementation/ansiwrap.svg +    :alt: Supported implementations +    :target: https://pypi.python.org/pypi/ansiwrap + +.. |wheel| image:: https://img.shields.io/pypi/wheel/ansiwrap.svg +    :alt: Wheel packaging support +    :target: https://pypi.python.org/pypi/ansiwrap + +.. |coverage| image:: https://img.shields.io/badge/test_coverage-99%25-0000FF.svg +    :alt: Test line coverage +    :target: https://pypi.python.org/pypi/ansiwrap + + +``ansiwrap`` wraps text, like the standard ``textwrap`` module. +But it also correctly wraps text that contains ANSI control +sequences that colorize or style text. + +Where ``textwrap`` is fooled by the raw string length of those control codes, +``ansiwrap`` is not; it understands that however much those codes affect color +and display style, they have no logical length. + +The API mirrors the ``wrap``, ``fill``, and ``shorten`` +functions of ``textwrap``. For example:: + +    from __future__ import print_function +    from colors import *     # ansicolors on PyPI +    from ansiwrap import * + +    s = ' '.join([red('this string'), +                  blue('is going on a bit long'), +                  green('and may need to be'), +                  color('shortened a bit', fg='purple')]) + +    print('-- original string --') +    print(s) +    print('-- now filled --') +    print(fill(s, 20)) +    print('-- now shortened / truncated --') +    print(shorten(s, 20, placeholder='...')) + +It also exports several other functions: + +* ``ansilen`` (giving the effective length of a string, ignoring ANSI control codes) +* ``ansi_terminate_lines`` (propagates control codes though a list of strings/lines +  and terminates each line.) +* ``strip_color`` (removes ANSI control codes from a string) + +See also the enclosed ``demo.py``. + +.. image:: https://content.screencast.com/users/jonathaneunice/folders/Jing/media/8db64be2-01cc-4da4-b46a-789c53c63b44/00000569.png +   :align: center + + +%package help +Summary:	Development documents and examples for ansiwrap +Provides:	python3-ansiwrap-doc +%description help + +| |travisci| |version| |versions| |impls| |wheel| |coverage| + +.. |travisci| image:: https://api.travis-ci.org/jonathaneunice/ansiwrap.svg +    :target: http://travis-ci.org/jonathaneunice/ansiwrap + +.. |version| image:: http://img.shields.io/pypi/v/ansiwrap.svg?style=flat +    :alt: PyPI Package latest release +    :target: https://pypi.python.org/pypi/ansiwrap + +.. |versions| image:: https://img.shields.io/pypi/pyversions/ansiwrap.svg +    :alt: Supported versions +    :target: https://pypi.python.org/pypi/ansiwrap + +.. |impls| image:: https://img.shields.io/pypi/implementation/ansiwrap.svg +    :alt: Supported implementations +    :target: https://pypi.python.org/pypi/ansiwrap + +.. |wheel| image:: https://img.shields.io/pypi/wheel/ansiwrap.svg +    :alt: Wheel packaging support +    :target: https://pypi.python.org/pypi/ansiwrap + +.. |coverage| image:: https://img.shields.io/badge/test_coverage-99%25-0000FF.svg +    :alt: Test line coverage +    :target: https://pypi.python.org/pypi/ansiwrap + + +``ansiwrap`` wraps text, like the standard ``textwrap`` module. +But it also correctly wraps text that contains ANSI control +sequences that colorize or style text. + +Where ``textwrap`` is fooled by the raw string length of those control codes, +``ansiwrap`` is not; it understands that however much those codes affect color +and display style, they have no logical length. + +The API mirrors the ``wrap``, ``fill``, and ``shorten`` +functions of ``textwrap``. For example:: + +    from __future__ import print_function +    from colors import *     # ansicolors on PyPI +    from ansiwrap import * + +    s = ' '.join([red('this string'), +                  blue('is going on a bit long'), +                  green('and may need to be'), +                  color('shortened a bit', fg='purple')]) + +    print('-- original string --') +    print(s) +    print('-- now filled --') +    print(fill(s, 20)) +    print('-- now shortened / truncated --') +    print(shorten(s, 20, placeholder='...')) + +It also exports several other functions: + +* ``ansilen`` (giving the effective length of a string, ignoring ANSI control codes) +* ``ansi_terminate_lines`` (propagates control codes though a list of strings/lines +  and terminates each line.) +* ``strip_color`` (removes ANSI control codes from a string) + +See also the enclosed ``demo.py``. + +.. image:: https://content.screencast.com/users/jonathaneunice/folders/Jing/media/8db64be2-01cc-4da4-b46a-789c53c63b44/00000569.png +   :align: center + + +%prep +%autosetup -n ansiwrap-0.8.4 + +%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-ansiwrap -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Mar 07 2023 Python_Bot <Python_Bot@openeuler.org> - 0.8.4-1 +- Package Spec generated @@ -0,0 +1 @@ +0e24741bda593b7bd2162c3e3bd3b8ba  ansiwrap-0.8.4.zip | 
