From 7f1653c0e5e082cbf284c907913990ed2c37f116 Mon Sep 17 00:00:00 2001 From: Just van Rossum Date: Sun, 7 Feb 1999 16:36:22 +0000 Subject: [PATCH] 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 --- Mac/scripts/makeclean.py | 59 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 Mac/scripts/makeclean.py diff --git a/Mac/scripts/makeclean.py b/Mac/scripts/makeclean.py new file mode 100644 index 00000000000..005ea02ede2 --- /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