diff --git a/Lib/importlib/metadata/__init__.py b/Lib/importlib/metadata/__init__.py index d44541fcbfbf42..371c4822095862 100644 --- a/Lib/importlib/metadata/__init__.py +++ b/Lib/importlib/metadata/__init__.py @@ -156,8 +156,8 @@ class EntryPoint(DeprecatedTuple): pattern = re.compile( r'(?P[\w.]+)\s*' - r'(:\s*(?P[\w.]+))?\s*' - r'(?P\[.*\])?\s*$' + r'(:\s*(?P[\w.]+)\s*)?' + r'((?P\[.*\])\s*)?$' ) """ A regular expression describing the syntax for an entry point, @@ -571,18 +571,6 @@ def _discover_resolvers(): ) return filter(None, declared) - @classmethod - def _local(cls, root='.'): - from pep517 import build, meta - - system = build.compat_system(root) - builder = functools.partial( - meta.build, - source_dir=root, - system=system, - ) - return PathDistribution(zipfile.Path(meta.build_as_zip(builder))) - @property def metadata(self) -> _meta.PackageMetadata: """Return the parsed metadata for this Distribution. diff --git a/Lib/test/test_importlib/fixtures.py b/Lib/test/test_importlib/fixtures.py index d7ed4e9d56ff55..803d3738d263f4 100644 --- a/Lib/test/test_importlib/fixtures.py +++ b/Lib/test/test_importlib/fixtures.py @@ -12,7 +12,7 @@ from typing import Dict, Union try: - from importlib import resources + from importlib import resources # type: ignore getattr(resources, 'files') getattr(resources, 'as_file') @@ -232,21 +232,6 @@ def setUp(self): build_files(EggInfoFile.files, prefix=self.site_dir) -class LocalPackage: - files: FilesDef = { - "setup.py": """ - import setuptools - setuptools.setup(name="local-pkg", version="2.0.1") - """, - } - - def setUp(self): - self.fixtures = contextlib.ExitStack() - self.addCleanup(self.fixtures.close) - self.fixtures.enter_context(tempdir_as_cwd()) - build_files(self.files) - - def build_files(file_defs, prefix=pathlib.Path()): """Build a set of files/directories, as described by the diff --git a/Misc/NEWS.d/next/Library/2022-01-22-14-45-46.bpo-46474.2DUC62.rst b/Misc/NEWS.d/next/Library/2022-01-22-14-45-46.bpo-46474.2DUC62.rst new file mode 100644 index 00000000000000..a5eafdf30f148c --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-01-22-14-45-46.bpo-46474.2DUC62.rst @@ -0,0 +1,2 @@ +Removed private method from ``importlib.metadata.Path``. Sync with +importlib_metadata 4.10.0. diff --git a/Misc/NEWS.d/next/Library/2022-01-22-14-49-10.bpo-46474.eKQhvx.rst b/Misc/NEWS.d/next/Library/2022-01-22-14-49-10.bpo-46474.eKQhvx.rst new file mode 100644 index 00000000000000..156b7de4f67877 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-01-22-14-49-10.bpo-46474.eKQhvx.rst @@ -0,0 +1,2 @@ +In ``importlib.metadata.EntryPoint.pattern``, avoid potential REDoS by +limiting ambiguity in consecutive whitespace.