diff options
author | Michael Büsch <mb@bu3sch.de> | 2010-01-09 18:06:54 +0000 |
---|---|---|
committer | Michael Büsch <mb@bu3sch.de> | 2010-01-09 18:06:54 +0000 |
commit | 4a2465a295e66f983bb22aa596d5fa3e2bf7b7ec (patch) | |
tree | b08b7497977b705dead84adc496e8be13f18ce4c /scripts | |
parent | 8ed8fe14b2e0b00f6bfff350e2e936c116427dd7 (diff) | |
download | upstream-4a2465a295e66f983bb22aa596d5fa3e2bf7b7ec.tar.gz upstream-4a2465a295e66f983bb22aa596d5fa3e2bf7b7ec.tar.bz2 upstream-4a2465a295e66f983bb22aa596d5fa3e2bf7b7ec.zip |
dl_cleanup: Add dry-run option
SVN-Revision: 19081
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/dl_cleanup.py | 32 |
1 files changed, 26 insertions, 6 deletions
diff --git a/scripts/dl_cleanup.py b/scripts/dl_cleanup.py index e83c82ac2c..41f172de56 100755 --- a/scripts/dl_cleanup.py +++ b/scripts/dl_cleanup.py @@ -9,9 +9,13 @@ import sys import os import re +import getopt DEBUG = 0 +# Commandline options +opt_dryrun = False + def parseVer_1234(match): progname = match.group(1) @@ -114,7 +118,7 @@ class Entry: def deleteFile(self): path = (self.directory + "/" + self.filename).replace("//", "/") print "Deleting", path - if not DEBUG: + if not opt_dryrun: os.unlink(path) def __eq__(self, y): @@ -125,13 +129,29 @@ class Entry: def usage(): print "OpenWRT download directory cleanup utility" - print "Usage: " + sys.argv[0] + " path/to/dl" + print "Usage: " + sys.argv[0] + " [OPTIONS] <path/to/dl>" + print "" + print " -d|--dry-run Do a dry-run. Don't delete any files" def main(argv): - if len(argv) != 2: + global opt_dryrun + + try: + (opts, args) = getopt.getopt(argv[1:], + "hd", + [ "help", "dry-run", ]) + if len(args) != 1: + raise getopt.GetoptError() + except getopt.GetoptError: usage() return 1 - directory = argv[1] + directory = args[0] + for (o, v) in opts: + if o in ("-h", "--help"): + usage() + return 0 + if o in ("-d", "--dry-run"): + opt_dryrun = True # Create a directory listing and parse the file names. entries = [] @@ -140,7 +160,7 @@ def main(argv): continue for black in blacklist: if black.match(filename): - if DEBUG: + if opt_dryrun: print filename, "is blacklisted" break else: @@ -167,7 +187,7 @@ def main(argv): for version in versions: if version != lastVersion: version.deleteFile() - if DEBUG: + if opt_dryrun: print "Keeping", lastVersion.filename return 0 |