Skip to content

Commit

Permalink
Chose metadata generator in prepare_metadata
Browse files Browse the repository at this point in the history
  • Loading branch information
pradyunsg committed Nov 4, 2019
1 parent 528d27a commit 19bf26a
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 13 deletions.
15 changes: 3 additions & 12 deletions src/pip/_internal/operations/build/metadata.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@
import logging
import os

from pip._internal.operations.build.metadata_legacy import \
generate_metadata as _generate_metadata_legacy
from pip._internal.utils.subprocess import runner_with_spinner_message
from pip._internal.utils.temp_dir import TempDirectory
from pip._internal.utils.typing import MYPY_CHECK_RUNNING
Expand All @@ -19,17 +17,10 @@

def generate_metadata(install_req):
# type: (InstallRequirement) -> str
"""Generate metadata and return the metadata directory.
"""
func = _generate_metadata
if not install_req.use_pep517:
func = _generate_metadata_legacy

return func(install_req)

"""Generate metadata using mechanisms described in PEP 517.
def _generate_metadata(install_req):
# type: (InstallRequirement) -> str
Returns the generated metadata directory.
"""
assert install_req.pep517_backend is not None
build_env = install_req.build_env
backend = install_req.pep517_backend
Expand Down
4 changes: 4 additions & 0 deletions src/pip/_internal/operations/build/metadata_legacy.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,10 @@ def depth_of_directory(dir_):

def generate_metadata(install_req):
# type: (InstallRequirement) -> str
"""Generate metadata using setup.py-based defacto mechanisms.ArithmeticError
Returns the generated metadata directory.
"""
assert install_req.unpacked_source_directory

req_details_str = install_req.name or "from {}".format(install_req.link)
Expand Down
8 changes: 7 additions & 1 deletion src/pip/_internal/req/req_install.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@
from pip._internal.locations import distutils_scheme
from pip._internal.models.link import Link
from pip._internal.operations.build.metadata import generate_metadata
from pip._internal.operations.build.metadata_legacy import \
generate_metadata as generate_metadata_legacy
from pip._internal.pyproject import load_pyproject_toml, make_pyproject_path
from pip._internal.req.req_uninstall import UninstallPathSet
from pip._internal.utils.compat import native_str
Expand Down Expand Up @@ -615,8 +617,12 @@ def prepare_metadata(self):
"""
assert self.source_dir

metadata_generator = generate_metadata
if not self.use_pep517:
metadata_generator = generate_metadata_legacy

with indent_log():
self.metadata_directory = generate_metadata(self)
self.metadata_directory = metadata_generator(self)

# Act on the newly generated metadata, based on the name and version.
if not self.name:
Expand Down

0 comments on commit 19bf26a

Please sign in to comment.