dl_cleanup: Allow removing items from blacklist

SVN-Revision: 19083
This commit is contained in:
Michael Büsch 2010-01-09 18:31:29 +00:00
parent 274e372e4c
commit 9c54343555

View file

@ -80,7 +80,7 @@ versionRegex = (
(re.compile(r"(.+)[-_]r?(\d+)"), parseVer_r), # xxx-r1111 (re.compile(r"(.+)[-_]r?(\d+)"), parseVer_r), # xxx-r1111
) )
blacklist = ( blacklist = [
("linux", re.compile(r"linux-.*")), ("linux", re.compile(r"linux-.*")),
("gcc", re.compile(r"gcc-.*")), ("gcc", re.compile(r"gcc-.*")),
("boost", re.compile(r"boost.*")), ("boost", re.compile(r"boost.*")),
@ -89,7 +89,7 @@ blacklist = (
(".arm", re.compile(r".*\.arm")), (".arm", re.compile(r".*\.arm")),
(".bin", re.compile(r".*\.bin")), (".bin", re.compile(r".*\.bin")),
("rt-firmware", re.compile(r"RT\d+_Firmware.*")), ("rt-firmware", re.compile(r"RT\d+_Firmware.*")),
) ]
class EntryParseError(Exception): pass class EntryParseError(Exception): pass
@ -135,14 +135,15 @@ def usage():
print "" print ""
print " -d|--dry-run Do a dry-run. Don't delete any files" print " -d|--dry-run Do a dry-run. Don't delete any files"
print " -B|--show-blacklist Show the blacklist and exit" print " -B|--show-blacklist Show the blacklist and exit"
print " -w|--whitelist ITEM Remove ITEM from blacklist"
def main(argv): def main(argv):
global opt_dryrun global opt_dryrun
try: try:
(opts, args) = getopt.getopt(argv[1:], (opts, args) = getopt.getopt(argv[1:],
"hdB", "hdBw:",
[ "help", "dry-run", "show-blacklist", ]) [ "help", "dry-run", "show-blacklist", "whitelist=", ])
if len(args) != 1: if len(args) != 1:
raise getopt.GetoptError() raise getopt.GetoptError()
except getopt.GetoptError: except getopt.GetoptError:
@ -155,6 +156,16 @@ def main(argv):
return 0 return 0
if o in ("-d", "--dry-run"): if o in ("-d", "--dry-run"):
opt_dryrun = True opt_dryrun = True
if o in ("-w", "--whitelist"):
for i in range(0, len(blacklist)):
(name, regex) = blacklist[i]
if name == v:
del blacklist[i]
break
else:
print "Whitelist error: Item", v,\
"is not in blacklist"
return 1
if o in ("-B", "--show-blacklist"): if o in ("-B", "--show-blacklist"):
for (name, regex) in blacklist: for (name, regex) in blacklist:
print name print name