From: Ciro Scognamiglio Date: Thu, 12 Jul 2012 15:40:42 +0000 (+0200) Subject: show num of files to delete in summary X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=dac9b906d0fc9e6581fd5a6c4e47ad9e4fc29d2f;p=infrastructure.git show num of files to delete in summary --- diff --git a/scripts/clean-backupdb.py b/scripts/clean-backupdb.py index ab15ddf..914de92 100755 --- a/scripts/clean-backupdb.py +++ b/scripts/clean-backupdb.py @@ -152,7 +152,9 @@ class File: global counter counter+=1 src = os.path.abspath(os.path.basename(self.path())); - if self.options.destination: + if self.options.summary: + pass + elif 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) @@ -171,6 +173,7 @@ class Group: def __init__ (self, groupname): self.groupname=groupname self.files=[] + self.count = 0 def insert (self, file): self.files.append(file) def epilogue (self): @@ -178,6 +181,7 @@ class Group: def keep_one (self): for file in self.files[1:]: file.cleanup(self.files[0]) + self.count += 1 # all files with the same (prefix, suffix) class Kind: @@ -186,6 +190,7 @@ class Kind: self.prefix=prefix self.suffix=suffix self.options=options + self.todelete = 0 # will contain tuples (filename, datetime) self.list = [] @@ -249,6 +254,7 @@ class Kind: for groupname in groupnames: if self.options.extra_verbose: print 'GROUP',groupname self.groups[groupname].keep_one() + self.todelete += self.groups[groupname].count # keeps an index of all files found, index by (prefix, suffix), then sorted by time class Index: @@ -287,9 +293,9 @@ class Index: kind.cleanup() def summary (self): - print "%-30s%-10s%s"%("Prefix","Suffix","Num") + print "%-30s%-10s%s"%("Prefix","Suffix","Num (Del)") for kind in self.index.values(): - print "%-30s%-10s%3s"%(kind.prefix, kind.suffix, len(kind.list)) + print "%-30s%-10s%3s (%s)"%(kind.prefix, kind.suffix, len(kind.list), kind.todelete) def handle_dir_pattern (index, dir, pattern): try: @@ -351,10 +357,10 @@ def main (): for (dir, pattern) in dir_patterns: handle_dir_pattern (index, dir, pattern) index.epilogue() index.show() + index.cleanup() if (options.summary) : index.summary() - else: - index.cleanup() + print 'Found %d entries to unlink'%counter if __name__ == '__main__':