From 948d8682662f6ecbf93a1a8a8cf28e11679bbba3 Mon Sep 17 00:00:00 2001 From: mb Date: Sat, 9 Jan 2010 18:31:29 +0000 Subject: [PATCH] dl_cleanup: Allow removing items from blacklist git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19083 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- scripts/dl_cleanup.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/scripts/dl_cleanup.py b/scripts/dl_cleanup.py index 53cf4db05..ff38a158f 100755 --- a/scripts/dl_cleanup.py +++ b/scripts/dl_cleanup.py @@ -80,7 +80,7 @@ versionRegex = ( (re.compile(r"(.+)[-_]r?(\d+)"), parseVer_r), # xxx-r1111 ) -blacklist = ( +blacklist = [ ("linux", re.compile(r"linux-.*")), ("gcc", re.compile(r"gcc-.*")), ("boost", re.compile(r"boost.*")), @@ -89,7 +89,7 @@ blacklist = ( (".arm", re.compile(r".*\.arm")), (".bin", re.compile(r".*\.bin")), ("rt-firmware", re.compile(r"RT\d+_Firmware.*")), -) +] class EntryParseError(Exception): pass @@ -135,14 +135,15 @@ def usage(): print "" print " -d|--dry-run Do a dry-run. Don't delete any files" print " -B|--show-blacklist Show the blacklist and exit" + print " -w|--whitelist ITEM Remove ITEM from blacklist" def main(argv): global opt_dryrun try: (opts, args) = getopt.getopt(argv[1:], - "hdB", - [ "help", "dry-run", "show-blacklist", ]) + "hdBw:", + [ "help", "dry-run", "show-blacklist", "whitelist=", ]) if len(args) != 1: raise getopt.GetoptError() except getopt.GetoptError: @@ -155,6 +156,16 @@ def main(argv): return 0 if o in ("-d", "--dry-run"): 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"): for (name, regex) in blacklist: print name -- 2.35.1