Cleanup compile_python to use facilities from modern python

This commit is contained in:
Kovid Goyal 2023-07-27 11:50:53 +05:30
parent 95316fc2dc
commit db0b524aa3
No known key found for this signature in database
GPG key ID: 06BC317B515ACE7C

View file

@ -1140,26 +1140,15 @@ make && make docs
def compile_python(base_path: str) -> None:
import compileall
import py_compile
try:
num_workers = max(1, os.cpu_count() or 1)
except Exception:
num_workers = 1
for root, dirs, files in os.walk(base_path):
for f in files:
if f.rpartition('.')[-1] in ('pyc', 'pyo'):
os.remove(os.path.join(root, f))
exclude = re.compile('.*/shell-integration/ssh/bootstrap.py')
def c(base_path: str, **kw: object) -> None:
try:
kw['invalidation_mode'] = py_compile.PycInvalidationMode.UNCHECKED_HASH
except AttributeError:
pass
compileall.compile_dir(base_path, **kw) # type: ignore
for optimize in (0, 1, 2):
c(base_path, ddir='', rx=exclude, force=True, optimize=optimize, quiet=1, workers=num_workers)
compileall.compile_dir(
base_path, rx=exclude, force=True, optimize=(0, 1, 2), quiet=1, workers=0, # type: ignore
invalidation_mode=py_compile.PycInvalidationMode.UNCHECKED_HASH, ddir='')
def create_linux_bundle_gunk(ddir: str, libdir_name: str) -> None: