diff options
author | Just van Rossum <just@lettererror.com> | 1999-02-07 16:36:22 (GMT) |
---|---|---|
committer | Just van Rossum <just@lettererror.com> | 1999-02-07 16:36:22 (GMT) |
commit | 7f1653c0e5e082cbf284c907913990ed2c37f116 (patch) | |
tree | a3b5de98ad93cf0978d6d9dbc6fbdf985e50772a | |
parent | e058189040dcaf951c34d66f99eeb7e4ee91af6a (diff) | |
download | cpython-7f1653c0e5e082cbf284c907913990ed2c37f116.zip cpython-7f1653c0e5e082cbf284c907913990ed2c37f116.tar.gz cpython-7f1653c0e5e082cbf284c907913990ed2c37f116.tar.bz2 |
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
-rw-r--r-- | Mac/scripts/makeclean.py | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/Mac/scripts/makeclean.py b/Mac/scripts/makeclean.py new file mode 100644 index 0000000..005ea02 --- /dev/null +++ b/Mac/scripts/makeclean.py @@ -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 |