15
0
Files
python-humanfriendly/python-humanfriendly.spec
Tomáš Chvátal e4f8cf45b6 Accepting request 789694 from home:mcalabkova:branches:devel:languages:python
- Update to 8.1
  * Make it possible to opt out of the output capturing that
    :func:`humanfriendly.testing.run_cli()` sets up by default.
  * Improve feature parity between :class:`humanfriendly.testing.CaptureOutput`
    and my :pypi:`capturer` package to the point where most of the
    :pypi:`humanfriendly` test suite can now run without :pypi:`capturer`.
  * Refactored the test suite to import all names separately instead of referring
    to identifiers via their modules (my preferences have changed since this code
    was written a long time ago).
  * Adopt :func:`functools.wraps()` to make decorator functions more robust.
  * Make the :class:`~humanfriendly.terminal.spinners.Spinner` class more
    customizable. The interval at which spinners are updated and the characters
    used to draw the animation of spinners can now be customized by callers.
    This was triggered by `executor issue #2`_.
  * Improve test skipping based on exception types.
  * The "deprecated imports" feature provided by :mod:`humanfriendly.deprecation`
    has been adopted to clean up the maze of (almost but not quite) cyclic import
    dependencies between modules.
  * HTML to ANSI functionality has been extracted to a new
    :mod:`humanfriendly.terminal.html` module.
  * Support for spinners has been extracted to a new
    :mod:`humanfriendly.terminal.spinners` module.
  * The use of positional arguments to initialize
    :class:`~humanfriendly.terminal.spinners.Spinner` objects has been deprecated
    using the new :func:`humanfriendly.deprecation.deprecated_args()` decorator
    function.
  * Added the :func:`humanfriendly.deprecation.deprecated_args()` decorator function
    which makes it easy to switch from positional arguments to keyword arguments
    without dropping backwards compatibility.
  * Accept pluralized disk size units (`#26`_). I'm not claiming this is a full

OBS-URL: https://build.opensuse.org/request/show/789694
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-humanfriendly?expand=0&rev=28
2020-03-30 10:01:36 +00:00

110 lines
3.5 KiB
RPMSpec
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#
# spec file for package python
#
# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "test"
%define psuffix test
%bcond_without test
%else
%define psuffix %{nil}
%bcond_with test
%endif
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-humanfriendly%{psuffix}
Version: 8.1
Release: 0
Summary: Human friendly input/output for text interfaces using Python
License: MIT
URL: https://github.com/xolox/python-humanfriendly
Source: https://files.pythonhosted.org/packages/source/h/humanfriendly/humanfriendly-%{version}.tar.gz
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python
Requires(post): update-alternatives
Requires(postun): update-alternatives
BuildArch: noarch
%if %{with test}
BuildRequires: %{python_module capturer >= 2.1}
BuildRequires: %{python_module coloredlogs >= 2}
BuildRequires: %{python_module docutils}
BuildRequires: %{python_module mock}
BuildRequires: %{python_module pytest >= 3.0.7}
BuildRequires: %{python_module pytest-cov >= 2.4.0}
BuildRequires: %{pythons}
BuildRequires: python2-monotonic
%endif
%ifpython2
Requires: python-monotonic
%endif
%python_subpackages
%description
The functions and classes in the humanfriendly package can be used to make
text interfaces more user friendly.
Some example features:
* Parsing and formatting numbers, file sizes, pathnames and timespans in
simple, human friendly formats.
* Easy to use timers for long running operations, with human friendly
formatting of the resulting timespans.
* Prompting the user to select a choice from a list of options by typing
the options number or a unique substring of the option.
* Terminal interaction including text styling (ANSI escape sequences), user
friendly rendering of usage messages and querying the terminal for its size.
%prep
%setup -q -n humanfriendly-%{version}
%build
%python_build
%install
%if !%{with test}
%python_install
%python_clone -a %{buildroot}%{_bindir}/humanfriendly
%{python_expand chmod a+x %{buildroot}%{$python_sitelib}/humanfriendly/tests.py
sed -i "s|#!%{_bindir}/env python|#!%__$python|" %{buildroot}%{$python_sitelib}/humanfriendly/tests.py
$python -m compileall -d %{$python_sitelib} %{buildroot}%{$python_sitelib}/humanfriendly/
$python -O -m compileall -d %{$python_sitelib} %{buildroot}%{$python_sitelib}/humanfriendly/
%fdupes %{buildroot}%{$python_sitelib}
}
%endif
%if %{with test}
%check
%pytest humanfriendly/tests.py
%endif
%if !%{with test}
%post
%python_install_alternative humanfriendly
%postun
%python_uninstall_alternative humanfriendly
%files %{python_files}
%license LICENSE.txt
%doc README.rst
%python_alternative %{_bindir}/humanfriendly
%{python_sitelib}/humanfriendly
%{python_sitelib}/humanfriendly-%{version}-py*.egg-info
%endif
%changelog