mirror of
https://github.com/python/cpython.git
synced 2024-11-26 19:34:19 +08:00
60 lines
1.1 KiB
Python
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
|