Removed deprecated `sphinx.util.get_matching_files()` function (#11373)

This commit is contained in:
Adam Turner 2023-04-28 09:55:14 +01:00 committed by GitHub
parent 262e1d9857
commit ce606d82cd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 2 additions and 39 deletions

View File

@ -20,6 +20,7 @@ Incompatible changes
* #11370: Remove deprecated ``sphinx.util.stemmer`` module. * #11370: Remove deprecated ``sphinx.util.stemmer`` module.
* #11371: Remove deprecated ``sphinx.pycode.ast.parse()`` function. * #11371: Remove deprecated ``sphinx.pycode.ast.parse()`` function.
* #11372: Remove deprecated ``sphinx.io.read_doc()`` function. * #11372: Remove deprecated ``sphinx.io.read_doc()`` function.
* #11373: Removed deprecated ``sphinx.util.get_matching_files()`` function.
Deprecated Deprecated
---------- ----------

View File

@ -7,13 +7,11 @@ import os
import posixpath import posixpath
import re import re
import sys import sys
import warnings
from importlib import import_module from importlib import import_module
from os import path from os import path
from typing import IO, Any, Iterable from typing import IO, Any
from urllib.parse import parse_qsl, quote_plus, urlencode, urlsplit, urlunsplit from urllib.parse import parse_qsl, quote_plus, urlencode, urlsplit, urlunsplit
from sphinx.deprecation import RemovedInSphinx70Warning
from sphinx.errors import ExtensionError, FiletypeNotFoundError from sphinx.errors import ExtensionError, FiletypeNotFoundError
from sphinx.locale import __ from sphinx.locale import __
from sphinx.util import display as _display from sphinx.util import display as _display
@ -42,7 +40,6 @@ from sphinx.util.osutil import ( # noqa: F401
os_path, os_path,
relative_uri, relative_uri,
) )
from sphinx.util.typing import PathMatcher
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -58,41 +55,6 @@ def docname_join(basedocname: str, docname: str) -> str:
posixpath.join('/' + basedocname, '..', docname))[1:] posixpath.join('/' + basedocname, '..', docname))[1:]
def get_matching_files(dirname: str,
exclude_matchers: tuple[PathMatcher, ...] = (),
include_matchers: tuple[PathMatcher, ...] = ()) -> Iterable[str]:
"""Get all file names in a directory, recursively.
Exclude files and dirs matching some matcher in *exclude_matchers*.
"""
path_stabilize = _osutil.path_stabilize # avoid warning
warnings.warn("'sphinx.util.get_matching_files' is deprecated, use "
"'sphinx.util.matching.get_matching_files' instead. Note that"
"the types of the arguments have changed from callables to "
"plain string glob patterns.", RemovedInSphinx70Warning, stacklevel=2)
# dirname is a normalized absolute path.
dirname = path.normpath(path.abspath(dirname))
for root, dirs, files in os.walk(dirname, followlinks=True):
relativeroot = path.relpath(root, dirname)
if relativeroot == ".":
relativeroot = "" # suppress dirname for files on the target dir
qdirs = enumerate(path_stabilize(path.join(relativeroot, dn))
for dn in dirs) # type: Iterable[tuple[int, str]]
qfiles = enumerate(path_stabilize(path.join(relativeroot, fn))
for fn in files) # type: Iterable[tuple[int, str]]
for matcher in exclude_matchers:
qdirs = [entry for entry in qdirs if not matcher(entry[1])]
qfiles = [entry for entry in qfiles if not matcher(entry[1])]
dirs[:] = sorted(dirs[i] for (i, _) in qdirs)
for _i, filename in sorted(qfiles):
yield filename
def get_filetype(source_suffix: dict[str, str], filename: str) -> str: def get_filetype(source_suffix: dict[str, str], filename: str) -> str:
for suffix, filetype in source_suffix.items(): for suffix, filetype in source_suffix.items():
if filename.endswith(suffix): if filename.endswith(suffix):