0
0
mirror of https://github.com/python/cpython.git synced 2024-12-01 03:01:36 +01:00
cpython/Mac/scripts/makeclean.py

60 lines
1.1 KiB
Python

""" ***DANGEROUS***
script to remove
all results of a
build process.
***Don't***
run this if you are
***not***
building Python
from the source
!!!
"""
import macfs
import os
import sys
import re
sweepfiletypes = [
'APPL', # applications
'Atmp', # applet template
'shlb', # shared libs
'MPSY', # SYM and xSYM files
'PYC ', # .pyc files
]
sweepfolderre = re.compile(r"(.*) Data$")
def remove(top):
if os.path.isdir(top):
for name in os.listdir(top):
path = os.path.join(top, name)
remove(path)
os.remove(top)
def walk(top):
if os.path.isdir(top):
m = sweepfolderre.match(top)
if m and os.path.exists(m.group(1) + ".prj"):
print "removing folder:", top
remove(top)
else:
for name in os.listdir(top):
path = os.path.join(top, name)
walk(path)
else:
fss = macfs.FSSpec(top)
cr, tp = fss.GetCreatorType()
if tp in sweepfiletypes and top <> sys.executable:
print "removing file: ", top
remove(top)
fss, ok = macfs.GetDirectory("Please locate the Python home directory")
if ok:
walk(fss.as_pathname())
sys.exit(1) # so we see the results