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