summaryrefslogtreecommitdiff
path: root/rdiff-backup/rdiff_backup/restore.py
diff options
context:
space:
mode:
Diffstat (limited to 'rdiff-backup/rdiff_backup/restore.py')
-rw-r--r--rdiff-backup/rdiff_backup/restore.py14
1 files changed, 9 insertions, 5 deletions
diff --git a/rdiff-backup/rdiff_backup/restore.py b/rdiff-backup/rdiff_backup/restore.py
index f4add16..aa6c6fe 100644
--- a/rdiff-backup/rdiff_backup/restore.py
+++ b/rdiff-backup/rdiff_backup/restore.py
@@ -125,16 +125,20 @@ class MirrorStruct:
older one here.
"""
- global _rest_time
- base_incs = get_inclist(Globals.rbdir.append("increments"))
- if not base_incs: return _mirror_time
- inctimes = [inc.getinctime() for inc in base_incs]
- inctimes.append(_mirror_time)
+ inctimes = cls.get_increment_times()
older_times = filter(lambda time: time <= restore_to_time, inctimes)
if older_times: return max(older_times)
else: # restore time older than oldest increment, just return that
return min(inctimes)
+ def get_increment_times(cls, rp = None):
+ """Return list of times of backups, including current mirror"""
+ if not _mirror_time: return_list = [cls.get_mirror_time()]
+ else: return_list = [_mirror_time]
+ if not rp or not rp.index: rp = Globals.rbdir.append("increments")
+ for inc in get_inclist(rp): return_list.append(inc.getinctime())
+ return return_list
+
def initialize_rf_cache(cls, mirror_base, inc_base):
"""Set cls.rf_cache to CachedRF object"""
inc_list = get_inclist(inc_base)