Skip to content

Commit

Permalink
Removed deprecated sphinx.util.get_matching_files() function (#11373
Browse files Browse the repository at this point in the history
)
  • Loading branch information
AA-Turner committed Apr 28, 2023
1 parent 262e1d9 commit ce606d8
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 39 deletions.
1 change: 1 addition & 0 deletions CHANGES
Expand Up @@ -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
----------
Expand Down
40 changes: 1 addition & 39 deletions sphinx/util/__init__.py
Expand Up @@ -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
Expand Down Expand Up @@ -42,7 +40,6 @@
os_path,
relative_uri,
)
from sphinx.util.typing import PathMatcher

logger = logging.getLogger(__name__)

Expand All @@ -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):
Expand Down

0 comments on commit ce606d8

Please sign in to comment.