--- /dev/null
+#!/usr/bin/python
+###
+### $Id$
+###
+### utility script for cleaning empty directories
+### useful to clean up /var/tmp/bootmedium
+###
+
+"""
+Usage: $0 dir [ .. dir]
+scans all provided directories and prunes any empty directory under
+the arg directories are always preserved
+"""
+
+import os,sys
+
+### cleans up a everything under a given root
+def clean_root (path, cleanRoot = False):
+
+ if not os.path.isdir(path):
+ return
+
+ # scan dir contents
+ files=os.listdir(path)
+
+ for x in files:
+ fullpath=os.path.join(path, x)
+ if os.path.isfile(fullpath):
+ # we do not remove files
+ return
+ elif os.path.isdir(fullpath):
+ clean_root(fullpath,True)
+
+ if (cleanRoot):
+ # rescan, and clean if empty
+ files=os.listdir(path)
+ if not files:
+ os.rmdir(path)
+
+ERROR_STR= """Error removing %(path)s, %(error)s """
+
+def main (dirs):
+
+ for dir in dirs:
+ try:
+ if dir.index("/") != 0:
+ print "%s: args must be absolute paths"%(sys.argv[0])
+ print "%s: %s ignored"%(sys.argv[0],dir)
+ else:
+ clean_root(dir)
+ except OSError, (errno, strerror):
+ print ERROR_STR % {'path' : path, 'error': strerror }
+
+if __name__ == '__main__':
+ main (sys.argv[1:])