extend py.cleanup to supply a list of extensions to clean
--HG-- branch : trunk
This commit is contained in:
parent
a5ab200b9f
commit
3b052e9f7f
|
@ -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()
|
||||||
|
|
Loading…
Reference in New Issue