Skip to content

Commit 6d86c5f

Browse files
committed
Reduce operations.build.metadata's API to 1 function
Why: There isn't any state being maintained, or multiple uses of the metadata generator for a single requirement. The additional complexity does not help in any significant manner.
1 parent e719d8d commit 6d86c5f

File tree

2 files changed

+8
-14
lines changed

2 files changed

+8
-14
lines changed

src/pip/_internal/operations/build/metadata.py

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,25 +12,20 @@
1212
from pip._internal.utils.typing import MYPY_CHECK_RUNNING
1313

1414
if MYPY_CHECK_RUNNING:
15-
from typing import Callable
16-
1715
from pip._internal.req.req_install import InstallRequirement
1816

1917
logger = logging.getLogger(__name__)
2018

2119

22-
def get_metadata_generator(install_req):
23-
# type: (InstallRequirement) -> Callable[[InstallRequirement], str]
24-
"""Return a callable metadata generator for this InstallRequirement.
25-
26-
A metadata generator takes an InstallRequirement (install_req) as an input,
27-
generates metadata via the appropriate process for that install_req and
28-
returns the generated metadata directory.
20+
def generate_metadata(install_req):
21+
# type: (InstallRequirement) -> str
22+
"""Generate metadata and return the metadata directory.
2923
"""
24+
func = _generate_metadata
3025
if not install_req.use_pep517:
31-
return _generate_metadata_legacy
26+
func = _generate_metadata_legacy
3227

33-
return _generate_metadata
28+
return func(install_req)
3429

3530

3631
def _generate_metadata(install_req):

src/pip/_internal/req/req_install.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
from pip._internal.exceptions import InstallationError
2525
from pip._internal.locations import distutils_scheme
2626
from pip._internal.models.link import Link
27-
from pip._internal.operations.build.metadata import get_metadata_generator
27+
from pip._internal.operations.build.metadata import generate_metadata
2828
from pip._internal.pyproject import load_pyproject_toml, make_pyproject_path
2929
from pip._internal.req.req_uninstall import UninstallPathSet
3030
from pip._internal.utils.compat import native_str
@@ -615,9 +615,8 @@ def prepare_metadata(self):
615615
"""
616616
assert self.source_dir
617617

618-
metadata_generator = get_metadata_generator(self)
619618
with indent_log():
620-
self.metadata_directory = metadata_generator(self)
619+
self.metadata_directory = generate_metadata(req)
621620

622621
if not self.name:
623622
self.move_to_correct_build_directory()

0 commit comments

Comments
 (0)