summaryrefslogtreecommitdiff
path: root/rdiff-backup/rdiff_backup/highlevel.py
diff options
context:
space:
mode:
authorben <ben@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109>2002-05-29 07:09:49 +0000
committerben <ben@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109>2002-05-29 07:09:49 +0000
commit85792f3b028aebac6e2681a0ce5ab60f9d91f1ed (patch)
tree4c7aadb68ffbcbc9119089a342a34b38dcd4f405 /rdiff-backup/rdiff_backup/highlevel.py
parent1d050174970945c986f6c4f1c0b9cf922fd24bc2 (diff)
downloadrdiff-backup-85792f3b028aebac6e2681a0ce5ab60f9d91f1ed.tar.gz
Reexamined robust writing and statistics
git-svn-id: http://svn.savannah.nongnu.org/svn/rdiff-backup/trunk@110 2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109
Diffstat (limited to 'rdiff-backup/rdiff_backup/highlevel.py')
-rw-r--r--rdiff-backup/rdiff_backup/highlevel.py23
1 files changed, 6 insertions, 17 deletions
diff --git a/rdiff-backup/rdiff_backup/highlevel.py b/rdiff-backup/rdiff_backup/highlevel.py
index a9e5ce2..bd34746 100644
--- a/rdiff-backup/rdiff_backup/highlevel.py
+++ b/rdiff-backup/rdiff_backup/highlevel.py
@@ -240,6 +240,7 @@ class HLDestinationStruct:
"""Apply diffs and finalize, with checkpointing and statistics"""
collated = RORPIter.CollateIterators(diffs, cls.initial_dsiter2)
finalizer, ITR = cls.get_finalizer(), cls.get_MirrorITR(inc_rpath)
+ Stats.open_dir_stats_file()
dsrp = None
def error_checked():
@@ -262,13 +263,15 @@ class HLDestinationStruct:
cls.check_skip_error(finalizer.Finish, dsrp)
except: cls.handle_last_error(dsrp, finalizer, ITR)
if Globals.preserve_hardlinks: Hardlink.final_writedata()
- cls.write_statistics(ITR)
+ Stats.close_dir_stats_file()
+ Stats.write_session_statistics(ITR)
SaveState.checkpoint_remove()
def patch_increment_and_finalize(cls, dest_rpath, diffs, inc_rpath):
"""Apply diffs, write increment if necessary, and finalize"""
collated = RORPIter.CollateIterators(diffs, cls.initial_dsiter2)
finalizer, ITR = cls.get_finalizer(), cls.get_ITR(inc_rpath)
+ Stats.open_dir_stats_file()
dsrp = None
def error_checked():
@@ -292,7 +295,8 @@ class HLDestinationStruct:
cls.check_skip_error(finalizer.Finish, dsrp)
except: cls.handle_last_error(dsrp, finalizer, ITR)
if Globals.preserve_hardlinks: Hardlink.final_writedata()
- cls.write_statistics(ITR)
+ Stats.close_dir_stats_file()
+ Stats.write_session_statistics(ITR)
SaveState.checkpoint_remove()
def check_skip_error(cls, thunk, dsrp):
@@ -323,19 +327,4 @@ class HLDestinationStruct:
SaveState.touch_last_file_definitive()
raise
- def write_statistics(cls, ITR):
- """Write session statistics to file, log"""
- stat_inc = Inc.get_inc(Globals.rbdir.append("session_statistics"),
- Time.curtime, "data")
- ITR.StartTime = Time.curtime
- ITR.EndTime = time.time()
- if Globals.preserve_hardlinks and Hardlink.final_inc:
- # include hardlink data in size of increments
- ITR.IncrementFileSize += Hardlink.final_inc.getsize()
- ITR.write_stats_to_rp(stat_inc)
- if Globals.print_statistics:
- message = ITR.get_stats_logstring("Session statistics")
- Log.log_to_file(message)
- Globals.client_conn.sys.stdout.write(message)
-
MakeClass(HLDestinationStruct)