extend py.cleanup to supply a list of extensions to clean

--HG--
branch : trunk
This commit is contained in:
holger krekel 2009-04-28 23:00:57 +02:00
parent a5ab200b9f
commit 3b052e9f7f
1 changed files with 18 additions and 3 deletions

View File

@ -11,11 +11,26 @@ import py
def main(): def main():
parser = py.compat.optparse.OptionParser(usage=__doc__) 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() (options, args) = parser.parse_args()
if not args: if not args:
args = ["."] args = ["."]
ext = options.ext.split(",")
def shouldremove(p):
return p.ext in ext
for arg in args: for arg in args:
path = py.path.local(arg) path = py.path.local(arg)
print "cleaning path", path print "cleaning path", path, "of extensions", ext
for x in path.visit('*.pyc', lambda x: x.check(dotfile=0, link=0)): for x in path.visit(shouldremove, lambda x: x.check(dotfile=0, link=0)):
x.remove() if options.dryrun:
print "would remove", x
else:
print "removing", x
x.remove()