Skip to content

Commit 95145dd

Browse files
committed
Extract a method for converting requires.
1 parent ae480ff commit 95145dd

File tree

1 file changed

+26
-20
lines changed

1 file changed

+26
-20
lines changed

setuptools/wheel.py

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -133,8 +133,6 @@ def _install_as_egg(self, destination_eggdir, zf):
133133

134134
@staticmethod
135135
def _convert_metadata(zf, destination_eggdir, dist_info, egg_info):
136-
import pkg_resources
137-
138136
def get_metadata(name):
139137
with zf.open(posixpath.join(dist_info, name)) as fp:
140138
value = fp.read().decode('utf-8')
@@ -148,8 +146,32 @@ def get_metadata(name):
148146
raise ValueError(f'unsupported wheel format version: {wheel_version}')
149147
# Extract to target directory.
150148
_unpack_zipfile_obj(zf, destination_eggdir)
151-
# Convert metadata.
152149
dist_info = os.path.join(destination_eggdir, dist_info)
150+
install_requires, extras_require = Wheel._convert_requires(
151+
destination_eggdir, dist_info
152+
)
153+
os.rename(dist_info, egg_info)
154+
os.rename(
155+
os.path.join(egg_info, 'METADATA'),
156+
os.path.join(egg_info, 'PKG-INFO'),
157+
)
158+
setup_dist = setuptools.Distribution(
159+
attrs=dict(
160+
install_requires=install_requires,
161+
extras_require=extras_require,
162+
),
163+
)
164+
with disable_info_traces():
165+
write_requirements(
166+
setup_dist.get_command_obj('egg_info'),
167+
None,
168+
os.path.join(egg_info, 'requires.txt'),
169+
)
170+
171+
@staticmethod
172+
def _convert_requires(destination_eggdir, dist_info):
173+
import pkg_resources
174+
153175
dist = pkg_resources.Distribution.from_location(
154176
destination_eggdir,
155177
dist_info,
@@ -172,23 +194,7 @@ def raw_req(req):
172194
]
173195
for extra in dist.extras
174196
}
175-
os.rename(dist_info, egg_info)
176-
os.rename(
177-
os.path.join(egg_info, 'METADATA'),
178-
os.path.join(egg_info, 'PKG-INFO'),
179-
)
180-
setup_dist = setuptools.Distribution(
181-
attrs=dict(
182-
install_requires=install_requires,
183-
extras_require=extras_require,
184-
),
185-
)
186-
with disable_info_traces():
187-
write_requirements(
188-
setup_dist.get_command_obj('egg_info'),
189-
None,
190-
os.path.join(egg_info, 'requires.txt'),
191-
)
197+
return install_requires, extras_require
192198

193199
@staticmethod
194200
def _move_data_entries(destination_eggdir, dist_data):

0 commit comments

Comments
 (0)