show dates of oldest/newest archives in summary
authorCiro Scognamiglio <c.scognamiglio@cslash.net>
Thu, 12 Jul 2012 16:10:55 +0000 (18:10 +0200)
committerCiro Scognamiglio <c.scognamiglio@cslash.net>
Thu, 12 Jul 2012 16:10:55 +0000 (18:10 +0200)
scripts/clean-backupdb.py

index 914de92..7a3e1aa 100755 (executable)
@@ -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
@@ -293,9 +296,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 +323,7 @@ def main ():
     parser.add_option ("-o","--offset",dest='offset',action='store',type='int',default=0,
                        help="pretend we run <offset> 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: