15
0

- Add upstream ignore-utf16.patch to fix test failure

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-docformatter?expand=0&rev=25
This commit is contained in:
2025-11-17 07:15:55 +00:00
committed by Git OBS Bridge
commit 13c9812c9d
7 changed files with 299 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.osc

15
do-not-require-venv.patch Normal file
View 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:

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6d76165e3a52384ed982889672751bf3d96f3126b57c47c04f66925b35dd7374
size 315538

32
ignore-utf16.patch Normal file
View File

@@ -0,0 +1,32 @@
From 412479e5d6b02f7dd7e20f870132a413dc83898a Mon Sep 17 00:00:00 2001
From: Doyle Rowland <doyle.rowland@reliaqual.com>
Date: Thu, 14 Aug 2025 17:58:02 -0400
Subject: [PATCH] fix: explicitly ignore utf_16 and utf_32 encoding
---
src/docformatter/encode.py | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/docformatter/encode.py b/src/docformatter/encode.py
index ac55ee9..c7e36f0 100644
--- a/src/docformatter/encode.py
+++ b/src/docformatter/encode.py
@@ -64,9 +64,15 @@ def do_detect_encoding(self, filename) -> None:
"""
try:
detection_result = from_path(filename).best()
- self.encoding = (
- detection_result.encoding if detection_result else self.DEFAULT_ENCODING
- )
+ if detection_result and detection_result.encoding in ["utf_16", "utf_32"]:
+ # Treat undetectable/binary encodings as failure
+ self.encoding = self.DEFAULT_ENCODING
+ else:
+ self.encoding = (
+ detection_result.encoding
+ if detection_result
+ else self.DEFAULT_ENCODING
+ )
# Check for correctness of encoding.
with self.do_open_with_encoding(filename) as check_file:

127
python-docformatter.changes Normal file
View File

@@ -0,0 +1,127 @@
-------------------------------------------------------------------
Fri Nov 14 13:51:14 UTC 2025 - Markéta Machová <mmachova@suse.com>
- Add upstream ignore-utf16.patch to fix test failure
-------------------------------------------------------------------
Mon May 19 10:01:24 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to 1.7.7
* Merged pull requests:
+ chore(deps-dev): bump black from 22.12.0 to 24.3.0
+ chore(deps-dev): bump jinja2 from 3.1.4 to 3.1.6
+ chore(deps-dev): bump requests from 2.31.0 to 2.32.2
+ chore(deps-dev): bump virtualenv from 20.21.1 to 20.26.6
+ chore(deps-dev): bump zipp from 3.15.0 to 3.19.1
+ chore(deps-dev): bump urllib3 from 2.0.7 to 2.2.2
- from version 1.7.6
* Features
+ prefer new unittest.mock from the standard library #280
+ Handle abbreviation 'etc.' (et cetera) #273
* Bug Fixes
+ Do not double-process urls #284
* Merged pull requests:
+ Fix pre-commit syntax #266
+ Update version listed in documentation's Pre-Commit example #262
+ Add missing comma in requirements table #261
- Drop remove-mock.patch, merged upstream
- Drop support-python-312.patch, merged upstream
- Use Python 3.11 on SLE-15 by default
-------------------------------------------------------------------
Thu Jan 16 14:06:31 UTC 2025 - Markéta Machová <mmachova@suse.com>
- Fix packaging
-------------------------------------------------------------------
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
- version update to 1.4
* Add --docstring-length flag
* Not add period for summary formatted as title
* Added command line exclude option
- use %pytest macro
-------------------------------------------------------------------
Tue May 26 07:22:42 UTC 2020 - Petr Gajdos <pgajdos@suse.com>
- %python3_only -> %python_alternative
-------------------------------------------------------------------
Thu Apr 2 12:38:39 UTC 2020 - Marketa Calabkova <mcalabkova@suse.com>
- update to 1.3.1
* A pydoc reference such as ':see:' should not be start of sentence
-------------------------------------------------------------------
Fri Jul 26 09:26:07 UTC 2019 - pgajdos@suse.com
- version update to 1.3
* no upstream changelog
-------------------------------------------------------------------
Fri Mar 8 14:28:00 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Update to 1.1:
* fixes for python 3.7
* varioius cleanups
-------------------------------------------------------------------
Tue Dec 4 12:47:23 UTC 2018 - Matej Cepl <mcepl@suse.com>
- Remove superfluous devel dependency for noarch package
-------------------------------------------------------------------
Sun Jul 29 13:14:37 UTC 2018 - jengelh@inai.de
- Use noun phrase in summary.
-------------------------------------------------------------------
Thu May 24 17:31:41 UTC 2018 - toddrme2178@gmail.com
- Update to version 1.0
* Document and test disabling of wrapping
* Add @kapsh
* Make text wrapping trigger more conservative
* Adds support for argument lists
- Spec file cleanups
-------------------------------------------------------------------
Tue Nov 7 18:41:21 UTC 2017 - toddrme2178@gmail.com
- initial version

98
python-docformatter.spec Normal file
View File

@@ -0,0 +1,98 @@
#
# spec file for package python-docformatter
#
# Copyright (c) 2025 SUSE LLC and contributors
#
# 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/
#
%{?sle15_python_module_pythons}
Name: python-docformatter
Version: 1.7.7
Release: 0
Summary: Utility to re-format docstrings per PEP 257
License: MIT
URL: https://github.com/myint/docformatter
Source: https://github.com/PyCQA/docformatter/archive/refs/tags/v%{version}.tar.gz#/docformatter-%{version}.tar.gz
# PATCH-FIX-OPENSUSE Do not require virtualenvs to run the tests
Patch0: do-not-require-venv.patch
# PATCH-FIX-UPSTREAM cherry-pick from https://github.com/PyCQA/docformatter/pull/323 fix: issue 321
Patch1: ignore-utf16.patch
BuildRequires: %{python_module base >= 3.7}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module poetry-core}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-charset-normalizer
Requires: python-untokenize
Requires(post): update-alternatives
Requires(postun): update-alternatives
BuildArch: noarch
# SECTION test requirements
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module charset-normalizer >= 3.0}
BuildRequires: %{python_module untokenize}
# /SECTION
%python_subpackages
%description
Docformatter currently automatically formats docstrings to follow a
subset of the PEP 257 conventions. Below are the relevant items quoted
from PEP 257.
- For consistency, always use triple double quotes around docstrings.
- Triple quotes are used even though the string fits on one line.
- Multi-line docstrings consist of a summary line just like a one-line
docstring, followed by a blank line, followed by a more elaborate
description.
- The BDFL recommends inserting a blank line between the last paragraph
in a multi-line docstring and its closing quotes, placing the closing
quotes on a line by themselves.
docformatter also handles some of the PEP 8 conventions.
- Don't write string literals that rely on significant trailing
whitespace. Such trailing whitespace is visually indistinguishable
and some editors (or more recently, reindent.py) will trim them.
%prep
%autosetup -p1 -n docformatter-%{version}
sed -i -e '/^#!\//, 1d' src/docformatter/*.py
chmod -x src/docformatter/__main__.py
%build
%pyproject_wheel
%install
%pyproject_install
%python_clone -a %{buildroot}%{_bindir}/docformatter
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
export BUILDROOT=%{buildroot}
%pytest
%post
%python_install_alternative docformatter
%postun
%python_uninstall_alternative docformatter
%files %{python_files}
%license LICENSE
%doc AUTHORS.rst README.rst
%python_alternative %{_bindir}/docformatter
%{python_sitelib}/docformatter
%{python_sitelib}/docformatter-%{version}.dist-info
%changelog