blob: cfa15bfda7c691b303bc12bc85e02ee771505369 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
#!/usr/bin/python
import os
import re
from ore.main import Application
filepattern = re.compile("(\w{8})\-(\w{4})\-(\w{4})\-(\w{4})\-(\w{12})")
tmppattern = re.compile("tmp\S{6}")
onepattern = re.compile("one.*\.txt")
staticdirs = re.compile('test_ds|store\d')
filepatterns = [filepattern, tmppattern, onepattern]
dirpatterns = [staticdirs]
class Cleaner(Application):
def manage_options(self):
self.parser.add_option("--base", dest="base_dir",
action="store", default='/tmp',
help="""Where to clean (/tmp)""")
def main(self):
"""clean up files left from testing in /tmp"""
# this is done using patterned names
for root, dirs, files in os.walk(self.options.base_dir):
for filename in files:
for pat in filepatterns:
if pat.match(filename):
fn = os.path.join(root, filename)
os.remove(fn)
break
for dirname in dirs:
for pat in dirpatterns:
if pat.match(dirname):
dn = os.path.join(root, dirname)
os.system('rm -rf %s' % dn)
if __name__ == "__main__":
Cleaner("cleaner")()
|