37 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
#!/usr/bin/env python 
 | 
						|
 | 
						|
"""\
 | 
						|
py.cleanup [PATH]
 | 
						|
 | 
						|
Delete pyc file recursively, starting from PATH (which defaults to the current
 | 
						|
working directory). Don't follow links and don't recurse into directories with
 | 
						|
a ".".
 | 
						|
"""
 | 
						|
import py
 | 
						|
 | 
						|
def main():
 | 
						|
    parser = py.compat.optparse.OptionParser(usage=__doc__)
 | 
						|
    parser.add_option("-e", "--remove", dest="ext", default=".pyc", action="store",
 | 
						|
        help="remove files with the given comma-separated list of extensions"
 | 
						|
    )
 | 
						|
    parser.add_option("-n", "--dryrun", dest="dryrun", default=False, 
 | 
						|
        action="store_true", 
 | 
						|
        help="display would-be-removed filenames"
 | 
						|
    )
 | 
						|
    (options, args) = parser.parse_args()
 | 
						|
    if not args:
 | 
						|
        args = ["."]
 | 
						|
    ext = options.ext.split(",")
 | 
						|
    def shouldremove(p):
 | 
						|
        return p.ext in ext
 | 
						|
        
 | 
						|
    for arg in args:
 | 
						|
        path = py.path.local(arg)
 | 
						|
        print "cleaning path", path, "of extensions", ext
 | 
						|
        for x in path.visit(shouldremove, lambda x: x.check(dotfile=0, link=0)):
 | 
						|
            if options.dryrun:
 | 
						|
                print "would remove", x
 | 
						|
            else:
 | 
						|
                print "removing", x
 | 
						|
                x.remove()
 |