Skip to content

Commit a2e76cb

Browse files
authored
Fix get_embed_wheel for unknown wheels (#2877)
1 parent 6d26284 commit a2e76cb

File tree

3 files changed

+11
-1
lines changed

3 files changed

+11
-1
lines changed

docs/changelog/2877.bugfix.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
``get_embed_wheel()`` no longer fails with a :exc:`TypeError` when it is
2+
called with an unknown *distribution*.

src/virtualenv/seed/wheels/embed/__init__.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,10 @@
4040

4141

4242
def get_embed_wheel(distribution, for_py_version):
43-
path = BUNDLE_FOLDER / (BUNDLE_SUPPORT.get(for_py_version, {}) or BUNDLE_SUPPORT[MAX]).get(distribution)
43+
wheelfile = (BUNDLE_SUPPORT.get(for_py_version, {}) or BUNDLE_SUPPORT[MAX]).get(distribution)
44+
if wheelfile is None:
45+
return None
46+
path = BUNDLE_FOLDER / wheelfile
4447
return Wheel.from_path(path)
4548

4649

tests/unit/seed/wheels/test_wheels_util.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,8 @@ def test_wheel_not_support():
2929
def test_wheel_repr():
3030
wheel = get_embed_wheel("setuptools", MAX)
3131
assert str(wheel.path) in repr(wheel)
32+
33+
34+
def test_unknown_distribution():
35+
wheel = get_embed_wheel("unknown", MAX)
36+
assert wheel is None

0 commit comments

Comments
 (0)