Skip to content

Commit b1495ed

Browse files
author
Jonathon Belotti
committed
add 'purelib' module, and avoid duped code by moving it into module
1 parent 571c268 commit b1495ed

File tree

3 files changed

+19
-8
lines changed

3 files changed

+19
-8
lines changed

src/namespace_pkgs.py

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import os
2-
import glob
32
import sys
43

4+
from . import wheel
55
from typing import Set
66

77

@@ -21,13 +21,7 @@ def pkg_resources_style_namespace_packages(extracted_whl_directory) -> Set[str]:
2121
"""
2222
namespace_pkg_dirs = set()
2323

24-
dist_info_dirs = glob.glob(os.path.join(extracted_whl_directory, "*.dist-info"))
25-
if not dist_info_dirs:
26-
raise ValueError(f"No *.dist-info directory found. {extracted_whl_directory} is not a valid Wheel.")
27-
elif len(dist_info_dirs) > 1:
28-
raise ValueError(f"Found more than 1 *.dist-info directory. {extracted_whl_directory} is not a valid Wheel.")
29-
else:
30-
dist_info = dist_info_dirs[0]
24+
dist_info = wheel.get_dist_info(extracted_whl_directory)
3125
namespace_packages_record_file = os.path.join(dist_info, "namespace_packages.txt")
3226
if os.path.exists(namespace_packages_record_file):
3327
with open(namespace_packages_record_file) as nspkg:

src/purelib.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
2+
def spread_purelib_into_root(extracted_whl_directory: str) -> None:
3+
pass
4+
# Root-Is-Purelib: false

src/wheel.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1+
import os
12
import pkginfo
23
import zipfile
34
import pkg_resources
5+
import glob
46

57

68
class Wheel(object):
@@ -37,3 +39,14 @@ def dependencies(self, extras_requested=None):
3739
def unzip(self, directory):
3840
with zipfile.ZipFile(self.path(), "r") as whl:
3941
whl.extractall(directory)
42+
43+
44+
def get_dist_info(extracted_whl_directory):
45+
dist_info_dirs = glob.glob(os.path.join(extracted_whl_directory, "*.dist-info"))
46+
if not dist_info_dirs:
47+
raise ValueError(f"No *.dist-info directory found. {extracted_whl_directory} is not a valid Wheel.")
48+
elif len(dist_info_dirs) > 1:
49+
raise ValueError(f"Found more than 1 *.dist-info directory. {extracted_whl_directory} is not a valid Wheel.")
50+
else:
51+
dist_info = dist_info_dirs[0]
52+
return dist_info

0 commit comments

Comments
 (0)