diff options
author | Jason R. Coombs <jaraco@jaraco.com> | 2018-06-03 09:28:50 -0400 |
---|---|---|
committer | Jason R. Coombs <jaraco@jaraco.com> | 2018-06-03 09:28:50 -0400 |
commit | 68f2ffd0bec368c31201a19b326d41dba5b81495 (patch) | |
tree | 1af35fc66088224432f33d4fa0a12dc2ffd8c8aa | |
parent | ad676fe418b22c894385f8d1316f2a60d8d1a291 (diff) | |
download | external_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.py | 11 |
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): |