Changeset 19081


Ignore:
Timestamp:
2010-01-09T19:06:54+01:00 (7 years ago)
Author:
mb
Message:

dl_cleanup: Add dry-run option

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/scripts/dl_cleanup.py

    r19018 r19081  
    1010import os 
    1111import re 
     12import getopt 
    1213 
    1314DEBUG = 0 
     15 
     16# Commandline options 
     17opt_dryrun = False 
    1418 
    1519 
     
    115119                path = (self.directory + "/" + self.filename).replace("//", "/") 
    116120                print "Deleting", path 
    117                 if not DEBUG: 
     121                if not opt_dryrun: 
    118122                        os.unlink(path) 
    119123 
     
    126130def usage(): 
    127131        print "OpenWRT download directory cleanup utility" 
    128         print "Usage: " + sys.argv[0] + " path/to/dl" 
     132        print "Usage: " + sys.argv[0] + " [OPTIONS] <path/to/dl>" 
     133        print "" 
     134        print " -d|--dry-run            Do a dry-run. Don't delete any files" 
    129135 
    130136def main(argv): 
    131         if len(argv) != 2: 
     137        global opt_dryrun 
     138 
     139        try: 
     140                (opts, args) = getopt.getopt(argv[1:], 
     141                        "hd", 
     142                        [ "help", "dry-run", ]) 
     143                if len(args) != 1: 
     144                        raise getopt.GetoptError() 
     145        except getopt.GetoptError: 
    132146                usage() 
    133147                return 1 
    134         directory = argv[1] 
     148        directory = args[0] 
     149        for (o, v) in opts: 
     150                if o in ("-h", "--help"): 
     151                        usage() 
     152                        return 0 
     153                if o in ("-d", "--dry-run"): 
     154                        opt_dryrun = True 
    135155 
    136156        # Create a directory listing and parse the file names. 
     
    141161                for black in blacklist: 
    142162                        if black.match(filename): 
    143                                 if DEBUG: 
     163                                if opt_dryrun: 
    144164                                        print filename, "is blacklisted" 
    145165                                break 
     
    168188                                if version != lastVersion: 
    169189                                        version.deleteFile() 
    170                         if DEBUG: 
     190                        if opt_dryrun: 
    171191                                print "Keeping", lastVersion.filename 
    172192 
Note: See TracChangeset for help on using the changeset viewer.