mirror of https://github.com/python/cpython
new dangerous script: it removes all apps (except sys.executable), shared libs, (x)SYM files and xxx Data folders (in case xxx.prj exists) -- jvr
This commit is contained in:
parent
e058189040
commit
7f1653c0e5
|
@ -0,0 +1,59 @@
|
|||
""" ***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
|
Loading…
Reference in New Issue