rdiff-backup-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Rdiff-backup-commits] rdiff-backup rdiff-backup-statistics


From: Ben Escoto
Subject: [Rdiff-backup-commits] rdiff-backup rdiff-backup-statistics
Date: Thu, 29 Dec 2005 21:15:13 +0000

CVSROOT:        /sources/rdiff-backup
Module name:    rdiff-backup
Branch:         
Changes by:     Ben Escoto <address@hidden>     05/12/29 21:15:13

Modified files:
        .              : rdiff-backup-statistics 

Log message:
        Added --null-separator option, times can now be given in different 
formats

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/rdiff-backup/rdiff-backup/rdiff-backup-statistics.diff?tr1=1.3&tr2=1.4&r1=text&r2=text

Patches:
Index: rdiff-backup/rdiff-backup-statistics
diff -u rdiff-backup/rdiff-backup-statistics:1.3 
rdiff-backup/rdiff-backup-statistics:1.4
--- rdiff-backup/rdiff-backup-statistics:1.3    Sun Dec 25 07:19:22 2005
+++ rdiff-backup/rdiff-backup-statistics        Thu Dec 29 21:15:13 2005
@@ -27,11 +27,12 @@
 begin_time = None # Parse statistics at or after this time...
 end_time = None # ... and at or before this time (epoch seconds)
 min_ratio = .05 # report only files/directories over this number
+separator = "\n" # The line separator in file_statistics file
 
 def parse_args():
-       global begin_time, end_time, min_ratio
+       global begin_time, end_time, min_ratio, separator
        try: optlist, args = getopt.getopt(sys.argv[1:], "",
-                       ["begin-time=", "end-time=", "minimum-ratio="])
+                       ["begin-time=", "end-time=", "minimum-ratio=", 
"null-separator"])
        except getopt.error, e:
                sys.exit("Bad command line: " + str(e))
 
@@ -39,11 +40,13 @@
                if opt == "--begin-time": begin_time = Time.genstrtotime(arg)
                elif opt == "--end-time": end_time = Time.genstrtotime(arg)
                elif opt == "--minimum-ratio": min_ratio = float(arg)
+               elif opt == "--null-separator": separator = '\0'
                else: assert 0
 
        if len(args) != 1:
-               sys.exit("Usage: %s --begin-time <time> --end-time <time> "
-                                "--minimum-ratio <float> <backup-dir>" % 
(sys.argv[0],))
+               sys.exit("Usage: %s [--begin-time <time>] [--end-time <time>] "
+                                "[--minimum-ratio <float>] [--null-separator] 
<backup-dir>"
+                                % (sys.argv[0],))
 
        Globals.rbdir = rpath.RPath(Globals.local_connection,
                                                                
os.path.join(args[0], 'rdiff-backup-data'))
@@ -213,9 +216,9 @@
                                                get_min('IncrementFileSize'))
 
        def yield_fs_objs(filestatsobj):
-               """Iterate FileStats by opening file_statistics fileobj"""
+               """Iterate FileStats by processing file_statistics fileobj"""
                r = re.compile("^(.*) ([0-9]+) ([0-9]+|NA) ([0-9]+|NA) "
-                                          "([0-9]+|NA)\n?$")
+                                          "([0-9]+|NA)%s?$" % (separator,))
                for line in filestatsobj:
                        if line.startswith('#'): continue
                        match = r.match(line)
@@ -372,8 +375,6 @@
 
        """
        blocksize = 65536
-       separator = '\n'
-
        def __init__(self, rp):
                """Initialize with rpath"""
                self.buffer = ['']
@@ -396,7 +397,7 @@
                """Read next block from fileobj, split and add to bufferlist"""
                block = self.fileobj.read(self.blocksize)
                if block:
-                       split = block.split(self.separator)
+                       split = block.split(separator)
                        self.buffer[0] += split[0]
                        self.buffer.extend(split[1:])
                else: self.at_end = 1
@@ -415,6 +416,7 @@
        return total_fst
        
 def Main():
+       Time.setcurtime()
        parse_args()
        srp = StatisticsRPaths(Globals.rbdir)
        if not srp.combined_pairs: sys.exit("No matching sessions found")




reply via email to

[Prev in Thread] Current Thread [Next in Thread]