From ce606d82cd03c9ed28b26aac918f060382122779 Mon Sep 17 00:00:00 2001 From: Adam Turner <9087854+AA-Turner@users.noreply.github.com> Date: Fri, 28 Apr 2023 09:55:14 +0100 Subject: [PATCH] Removed deprecated ``sphinx.util.get_matching_files()`` function (#11373) --- CHANGES | 1 + sphinx/util/__init__.py | 40 +--------------------------------------- 2 files changed, 2 insertions(+), 39 deletions(-) diff --git a/CHANGES b/CHANGES index ed9ac8ddc18..8365275290c 100644 --- a/CHANGES +++ b/CHANGES @@ -20,6 +20,7 @@ Incompatible changes * #11370: Remove deprecated ``sphinx.util.stemmer`` module. * #11371: Remove deprecated ``sphinx.pycode.ast.parse()`` function. * #11372: Remove deprecated ``sphinx.io.read_doc()`` function. +* #11373: Removed deprecated ``sphinx.util.get_matching_files()`` function. Deprecated ---------- diff --git a/sphinx/util/__init__.py b/sphinx/util/__init__.py index 65eaea8a94e..2f166852c6e 100644 --- a/sphinx/util/__init__.py +++ b/sphinx/util/__init__.py @@ -7,13 +7,11 @@ import posixpath import re import sys -import warnings from importlib import import_module 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 sphinx.deprecation import RemovedInSphinx70Warning from sphinx.errors import ExtensionError, FiletypeNotFoundError from sphinx.locale import __ from sphinx.util import display as _display @@ -42,7 +40,6 @@ os_path, relative_uri, ) -from sphinx.util.typing import PathMatcher logger = logging.getLogger(__name__) @@ -58,41 +55,6 @@ def docname_join(basedocname: str, docname: str) -> str: 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: for suffix, filetype in source_suffix.items(): if filename.endswith(suffix):