X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=scripts%2Fclean-backupdb.py;h=1d993c6dea312804db32ff7181d59fbee6d59fdf;hb=a8aa1baef6f4d1df60f44d1d542912acff913226;hp=914de92e0fb7a4df683d87455e1221740ff58c2b;hpb=dac9b906d0fc9e6581fd5a6c4e47ad9e4fc29d2f;p=infrastructure.git diff --git a/scripts/clean-backupdb.py b/scripts/clean-backupdb.py index 914de92..1d993c6 100755 --- a/scripts/clean-backupdb.py +++ b/scripts/clean-backupdb.py @@ -152,9 +152,7 @@ class File: global counter counter+=1 src = os.path.abspath(os.path.basename(self.path())); - if self.options.summary: - pass - elif self.options.destination: + if self.options.destination: dst = os.path.abspath(self.options.destination) + '/' + os.path.basename(self.path()) if self.options.verbose: print "moving %s\n\tto %s"%(self.path(), dst) @@ -191,6 +189,8 @@ class Kind: self.suffix=suffix self.options=options self.todelete = 0 + self.oldest = None + self.newest = None # will contain tuples (filename, datetime) self.list = [] @@ -198,6 +198,9 @@ class Kind: def add_file (self, dir, filename, datetime): try: self.list.append ( File (dir, filename, datetime, self.options) ) + self.newest = datetime + if not self.oldest: + self.oldest = datetime except FileIgnored: pass except: print 'could not append %s'%filename @@ -284,7 +287,8 @@ class Index: for filename in filenames: (b,p,s,d) = parse_filename (filename) if not b: - print "Filename %s does not match - skipped"%filename + if self.options.verbose: + print "Filename %s does not match - skipped"%filename continue self.insert (dir, filename, p, s, d) @@ -293,9 +297,9 @@ class Index: kind.cleanup() def summary (self): - print "%-30s%-10s%s"%("Prefix","Suffix","Num (Del)") + print "%-30s%-10s%10s%25s%25s"%("Prefix","Suffix","Num (Del)","Oldest","Newest") for kind in self.index.values(): - print "%-30s%-10s%3s (%s)"%(kind.prefix, kind.suffix, len(kind.list), kind.todelete) + print "%-30s%-10s%3s (%3s) %30s%30s"%(kind.prefix, kind.suffix, len(kind.list), kind.todelete, kind.oldest, kind.newest) def handle_dir_pattern (index, dir, pattern): try: @@ -320,7 +324,7 @@ def main (): parser.add_option ("-o","--offset",dest='offset',action='store',type='int',default=0, help="pretend we run days in the future") parser.add_option ("-s","--summary",dest='summary',action='store_true',default=False, - help="print a summary then exit") + help="print a summary") (options, args) = parser.parse_args() if options.extra_verbose: options.verbose=True try: @@ -360,8 +364,8 @@ def main (): index.cleanup() if (options.summary) : index.summary() - - print 'Found %d entries to unlink'%counter + if options.verbose: + print 'Found %d entries to unlink'%counter if __name__ == '__main__': main()