forked from pool/python-docformatter
- Update to 1.7.5:
* Features
+ fix: not recognizing `yield` as a sphinx field name
+ feat: support epytext style
+ feat: use tomllib for Python 3.11+
+ feat: wrap Sphinx style long parameter descriptions
+ feat: add option for user to provide list of words not to capitalize
+ Support python 3.11
* Bug Fixes
+ fix: summary with back ticks and sphinx field names with periods
+ fix: removing newline between Sphinx field lists
+ fix: wrapping issues with reST directives, quoted URLs, and Sphinx
field lists
+ fix: improper wrapping of short anonymous hyperlnks
+ fix: removing blank line after import section
+ fix: IndexError when only URL in long description
+ fix: removing newline after shebang
+ fix: not capitalizing first word when summary ends in period
+ fix: adding newlines around wrapped URL
+ fix: adding blank line in summary with symbol
+ fix: remove blank lines after line beginning with 'def'
+ fix: update URL handling functions
- Switch to autosetup and pyproject macros.
- No more greedy globs in %files.
- Add patches:
* remove-mock.patch
+ Do not use external mock module
* support-python-312.patch
+ Support Python 3.12+ changes
* do-not-require-venv.patch
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-docformatter?expand=0&rev=19
This commit is contained in:
15
do-not-require-venv.patch
Normal file
15
do-not-require-venv.patch
Normal file
@@ -0,0 +1,15 @@
|
||||
Index: docformatter-1.7.5/tests/conftest.py
|
||||
===================================================================
|
||||
--- docformatter-1.7.5.orig/tests/conftest.py
|
||||
+++ docformatter-1.7.5/tests/conftest.py
|
||||
@@ -113,8 +113,9 @@ def run_docformatter(arguments, temporar
|
||||
os.environ["VIRTUAL_ENV"] + "/bin/docformatter",
|
||||
]
|
||||
else:
|
||||
+ version = f"{sys.version_info.major}.{sys.version_info.minor}"
|
||||
DOCFORMATTER_COMMAND = [
|
||||
- os.environ["VIRTUAL_ENV"] + "/bin/docformatter",
|
||||
+ f"{os.environ['BUILDROOT']}/usr/bin/docformatter-{version}",
|
||||
] # pragma: no cover
|
||||
|
||||
if "-" not in arguments:
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:064e6d81f04ac96bc0d176cbaae953a0332482b22d3ad70d47c8a7f2732eef6f
|
||||
size 208955
|
||||
3
docformatter-1.7.5.tar.gz
Normal file
3
docformatter-1.7.5.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d35de4c83b78172bf618500a8b0e9075378ec41aa4a71b28f2f633a60668b3ab
|
||||
size 265766
|
||||
@@ -1,3 +1,38 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 29 00:00:01 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
|
||||
|
||||
- Update to 1.7.5:
|
||||
* Features
|
||||
+ fix: not recognizing `yield` as a sphinx field name
|
||||
+ feat: support epytext style
|
||||
+ feat: use tomllib for Python 3.11+
|
||||
+ feat: wrap Sphinx style long parameter descriptions
|
||||
+ feat: add option for user to provide list of words not to capitalize
|
||||
+ Support python 3.11
|
||||
* Bug Fixes
|
||||
+ fix: summary with back ticks and sphinx field names with periods
|
||||
+ fix: removing newline between Sphinx field lists
|
||||
+ fix: wrapping issues with reST directives, quoted URLs, and Sphinx
|
||||
field lists
|
||||
+ fix: improper wrapping of short anonymous hyperlnks
|
||||
+ fix: removing blank line after import section
|
||||
+ fix: IndexError when only URL in long description
|
||||
+ fix: removing newline after shebang
|
||||
+ fix: not capitalizing first word when summary ends in period
|
||||
+ fix: adding newlines around wrapped URL
|
||||
+ fix: adding blank line in summary with symbol
|
||||
+ fix: remove blank lines after line beginning with 'def'
|
||||
+ fix: update URL handling functions
|
||||
- Switch to autosetup and pyproject macros.
|
||||
- No more greedy globs in %files.
|
||||
- Add patches:
|
||||
* remove-mock.patch
|
||||
+ Do not use external mock module
|
||||
* support-python-312.patch
|
||||
+ Support Python 3.12+ changes
|
||||
* do-not-require-venv.patch
|
||||
+ Do not require a virtualenv to run the testsuite
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu May 20 07:18:31 UTC 2021 - pgajdos@suse.com
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package python-docformatter
|
||||
#
|
||||
# Copyright (c) 2021 SUSE LLC
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -16,28 +16,32 @@
|
||||
#
|
||||
|
||||
|
||||
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
||||
Name: python-docformatter
|
||||
Version: 1.4
|
||||
Version: 1.7.5
|
||||
Release: 0
|
||||
Summary: Utility to re-format docstrings per PEP 257
|
||||
License: MIT
|
||||
Group: Development/Languages/Python
|
||||
URL: https://github.com/myint/docformatter
|
||||
Source: https://files.pythonhosted.org/packages/source/d/docformatter/docformatter-%{version}.tar.gz
|
||||
BuildRequires: %{python_module setuptools}
|
||||
Source: https://github.com/PyCQA/docformatter/archive/refs/tags/v%{version}.tar.gz#/docformatter-%{version}.tar.gz
|
||||
# PATCH-FIX-UPSTREAM gh#PyCQA/docformatter#280
|
||||
Patch0: remove-mock.patch
|
||||
# PATCH-FIX-UPSTREAM gh#PyCQA/docformatter#296
|
||||
Patch1: support-python-312.patch
|
||||
# PATCH-FIX-OPENSUSE Do not require virtualenvs to run the tests
|
||||
Patch2: do-not-require-venv.patch
|
||||
BuildRequires: %{python_module base >= 3.7}
|
||||
BuildRequires: %{python_module pip}
|
||||
BuildRequires: %{python_module poetry-core}
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: python-rpm-macros
|
||||
Requires: python-setuptools
|
||||
Requires: python-charset-normalizer
|
||||
Requires: python-untokenize
|
||||
Requires(post): update-alternatives
|
||||
Requires(postun):update-alternatives
|
||||
Requires(postun): update-alternatives
|
||||
BuildArch: noarch
|
||||
# SECTION test requirements
|
||||
%if %{suse_version} <= 1500
|
||||
BuildRequires: python2-mock
|
||||
%endif
|
||||
BuildRequires: %{python_module pytest}
|
||||
BuildRequires: %{python_module charset-normalizer >= 3.0}
|
||||
BuildRequires: %{python_module untokenize}
|
||||
# /SECTION
|
||||
%python_subpackages
|
||||
@@ -63,18 +67,22 @@ docformatter also handles some of the PEP 8 conventions.
|
||||
and some editors (or more recently, reindent.py) will trim them.
|
||||
|
||||
%prep
|
||||
%setup -q -n docformatter-%{version}
|
||||
sed -i -e '/^#!\//, 1d' docformatter.py
|
||||
%autosetup -p1 -n docformatter-%{version}
|
||||
sed -i -e '/^#!\//, 1d' src/docformatter/*.py
|
||||
chmod -x src/docformatter/__main__.py
|
||||
|
||||
%build
|
||||
%python_build
|
||||
%pyproject_wheel
|
||||
|
||||
%install
|
||||
%python_install
|
||||
%pyproject_install
|
||||
# Do not install LICENSE
|
||||
%python_expand rm %{buildroot}%{$python_sitelib}/LICENSE
|
||||
%python_clone -a %{buildroot}%{_bindir}/docformatter
|
||||
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||
|
||||
%check
|
||||
export BUILDROOT=%{buildroot}
|
||||
%pytest
|
||||
|
||||
%post
|
||||
@@ -87,6 +95,7 @@ sed -i -e '/^#!\//, 1d' docformatter.py
|
||||
%license LICENSE
|
||||
%doc AUTHORS.rst README.rst
|
||||
%python_alternative %{_bindir}/docformatter
|
||||
%{python_sitelib}/*
|
||||
%{python_sitelib}/docformatter
|
||||
%{python_sitelib}/docformatter-%{version}.dist-info
|
||||
|
||||
%changelog
|
||||
|
||||
28
remove-mock.patch
Normal file
28
remove-mock.patch
Normal file
@@ -0,0 +1,28 @@
|
||||
From ba56f8498a1ebed724316e3affcc2c98eeac4ca7 Mon Sep 17 00:00:00 2001
|
||||
From: Alexandre Detiste <alexandre.detiste@gmail.com>
|
||||
Date: Sat, 27 Apr 2024 13:44:08 +0200
|
||||
Subject: [PATCH] prefer new unittest.mock from the standard library
|
||||
|
||||
---
|
||||
tests/test_utility_functions.py | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tests/test_utility_functions.py b/tests/test_utility_functions.py
|
||||
index c9fffd3..e127f33 100644
|
||||
--- a/tests/test_utility_functions.py
|
||||
+++ b/tests/test_utility_functions.py
|
||||
@@ -36,9 +36,13 @@
|
||||
- is_some_sort_of_code()
|
||||
"""
|
||||
|
||||
+try:
|
||||
+ from unittest.mock import patch
|
||||
+except ImportError:
|
||||
+ from mock import patch
|
||||
+
|
||||
# Third Party Imports
|
||||
import pytest
|
||||
-from mock import patch
|
||||
|
||||
# docformatter Package Imports
|
||||
import docformatter
|
||||
76
support-python-312.patch
Normal file
76
support-python-312.patch
Normal file
@@ -0,0 +1,76 @@
|
||||
From ea60c5528506361f1f9edbeabb75ff874bb77046 Mon Sep 17 00:00:00 2001
|
||||
From: finswimmer <finswimmer77@gmail.com>
|
||||
Date: Sat, 19 Oct 2024 13:22:28 +0200
|
||||
Subject: [PATCH 1/2] feat: drop support for Python < 3.9
|
||||
|
||||
Added CI pipelines for Pyton 3.12, 3.13
|
||||
---
|
||||
.github/workflows/ci.yml | 6 +--
|
||||
pyproject.toml | 46 ++++++++++----------
|
||||
tests/_data/string_files/do_format_code.toml | 6 +--
|
||||
tests/test_docformatter.py | 14 +++---
|
||||
4 files changed, 35 insertions(+), 37 deletions(-)
|
||||
|
||||
diff --git a/tests/_data/string_files/do_format_code.toml b/tests/_data/string_files/do_format_code.toml
|
||||
index 5d886f3..469c78b 100644
|
||||
--- a/tests/_data/string_files/do_format_code.toml
|
||||
+++ b/tests/_data/string_files/do_format_code.toml
|
||||
@@ -37,7 +37,7 @@ instring='''
|
||||
CONST = 123
|
||||
|
||||
"""docstring for CONST."""
|
||||
- '''
|
||||
+'''
|
||||
outstring='''
|
||||
CONST = 123
|
||||
"""docstring for CONST."""
|
||||
@@ -50,7 +50,7 @@ instring='''
|
||||
:cvar test_int: a class attribute.
|
||||
..py.method: big_method()
|
||||
"""
|
||||
- '''
|
||||
+'''
|
||||
outstring='''
|
||||
class TestClass:
|
||||
"""This is a class docstring.
|
||||
@@ -74,7 +74,7 @@ instring='''
|
||||
|
||||
|
||||
"""This is a second class variable docstring."""
|
||||
- '''
|
||||
+'''
|
||||
outstring='''
|
||||
class TestClass:
|
||||
"""This is a class docstring."""
|
||||
diff --git a/tests/test_docformatter.py b/tests/test_docformatter.py
|
||||
index 20c0809..dbad7c0 100644
|
||||
--- a/tests/test_docformatter.py
|
||||
+++ b/tests/test_docformatter.py
|
||||
@@ -688,9 +688,9 @@ class TestEndToEndPyproject:
|
||||
"contents",
|
||||
[
|
||||
'''\
|
||||
- class TestFoo():
|
||||
- """Docstring that should not have a pre-summary space."""
|
||||
- '''
|
||||
+class TestFoo():
|
||||
+ """ Docstring that should not have a pre-summary space."""
|
||||
+'''
|
||||
],
|
||||
)
|
||||
@pytest.mark.parametrize(
|
||||
@@ -725,10 +725,10 @@ def test_no_pre_summary_space_using_pyproject(
|
||||
See issue #119.
|
||||
"""
|
||||
assert '''\
|
||||
-@@ -1,3 +1,2 @@
|
||||
- class TestFoo():
|
||||
- """Docstring that should not have a pre-summary space."""
|
||||
--
|
||||
+@@ -1,2 +1,2 @@
|
||||
+ class TestFoo():
|
||||
+- """ Docstring that should not have a pre-summary space."""
|
||||
++ """Docstring that should not have a pre-summary space."""
|
||||
''' == "\n".join(
|
||||
run_docformatter.communicate()[0].decode().replace("\r", "").split("\n")[2:]
|
||||
)
|
||||
Reference in New Issue
Block a user