aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2018-06-03 09:28:50 -0400
committerJason R. Coombs <jaraco@jaraco.com>2018-06-03 09:28:50 -0400
commit68f2ffd0bec368c31201a19b326d41dba5b81495 (patch)
tree1af35fc66088224432f33d4fa0a12dc2ffd8c8aa
parentad676fe418b22c894385f8d1316f2a60d8d1a291 (diff)
downloadexternal_python_setuptools-68f2ffd0bec368c31201a19b326d41dba5b81495.tar.gz
external_python_setuptools-68f2ffd0bec368c31201a19b326d41dba5b81495.tar.bz2
external_python_setuptools-68f2ffd0bec368c31201a19b326d41dba5b81495.zip
Extract _convert_metadata. install_as_egg is almost comprehensible now.
-rw-r--r--setuptools/wheel.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/setuptools/wheel.py b/setuptools/wheel.py
index e3d807c1..dc03bbc8 100644
--- a/setuptools/wheel.py
+++ b/setuptools/wheel.py
@@ -100,11 +100,19 @@ class Wheel(object):
dist_basename = '%s-%s' % (self.project_name, self.version)
dist_info = self.get_dist_info(zf)
dist_data = '%s.data' % dist_basename
+ egg_info = os.path.join(destination_eggdir, 'EGG-INFO')
+ self._convert_metadata(zf, destination_eggdir, dist_info, egg_info)
+ self._move_data_entries(destination_eggdir, dist_data)
+ self._fix_namespace_packages(egg_info, destination_eggdir)
+
+ @staticmethod
+ def _convert_metadata(zf, destination_eggdir, dist_info, egg_info):
def get_metadata(name):
with zf.open(posixpath.join(dist_info, name)) as fp:
value = fp.read().decode('utf-8') if PY3 else fp.read()
return email.parser.Parser().parsestr(value)
+
wheel_metadata = get_metadata('WHEEL')
# Check wheel format version is supported.
wheel_version = parse_version(wheel_metadata.get('Wheel-Version'))
@@ -139,7 +147,6 @@ class Wheel(object):
)
for extra in dist.extras
}
- egg_info = os.path.join(destination_eggdir, 'EGG-INFO')
os.rename(dist_info, egg_info)
os.rename(
os.path.join(egg_info, 'METADATA'),
@@ -156,8 +163,6 @@ class Wheel(object):
None,
os.path.join(egg_info, 'requires.txt'),
)
- self._move_data_entries(destination_eggdir, dist_data)
- self._fix_namespace_packages(egg_info, destination_eggdir)
@staticmethod
def _move_data_entries(destination_eggdir, dist_data):