]> granicus.if.org Git - python/commitdiff
new dangerous script: it removes all apps (except sys.executable), shared libs, ...
authorJust van Rossum <just@lettererror.com>
Sun, 7 Feb 1999 16:36:22 +0000 (16:36 +0000)
committerJust van Rossum <just@lettererror.com>
Sun, 7 Feb 1999 16:36:22 +0000 (16:36 +0000)
Mac/scripts/makeclean.py [new file with mode: 0644]

diff --git a/Mac/scripts/makeclean.py b/Mac/scripts/makeclean.py
new file mode 100644 (file)
index 0000000..005ea02
--- /dev/null
@@ -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