@@ -17,7 +17,7 @@ def __init__(self, config, state_root, state_bkp):
1717 self .max_backups = self .config .rotate .max_backups
1818 self .max_days = self .config .rotate .max_days
1919
20- self .latest = state_bkp .get ( "name" )
20+ self .latest = state_bkp .state
2121 self .previous = None
2222 self .backups = self .backups_by_unixts ()
2323
@@ -41,13 +41,12 @@ def backups_by_unixts(self):
4141 def remove (self , ts ):
4242 if ts in self .backups :
4343 backup = self .backups [ts ]
44- path = os .path .join (self .base_dir , backup ["name" ])
45- if os .path .isdir (path ):
46- logging .debug ("Removing backup path: %s" % path )
47- rmtree (path )
44+ if os .path .isdir (backup ["path" ]):
45+ logging .debug ("Removing backup path: %s" % backup ["path" ])
46+ rmtree (backup ["path" ])
4847 else :
49- raise OperationError ("Backup path %s does not exist!" % path )
50- if self .previous == backup [ "name" ] :
48+ raise OperationError ("Backup path %s does not exist!" % backup [ " path" ] )
49+ if self .previous == backup :
5150 self .previous = None
5251 del self .backups [ts ]
5352
@@ -61,7 +60,7 @@ def rotate(self):
6160 for ts in sorted (self .backups .iterkeys (), reverse = True ):
6261 backup = self .backups [ts ]
6362 if not self .previous :
64- self .previous = backup [ "name" ]
63+ self .previous = backup
6564 if self .max_backups == 0 or kept_backups < self .max_backups :
6665 if self .max_secs > 0 and (now - ts ) > self .max_secs :
6766 logging .info ("Backup %s exceeds max age %.2f days, removing backup" % (backup ["name" ], self .max_days ))
@@ -77,16 +76,14 @@ def symlink(self):
7776 try :
7877 if os .path .islink (self .latest_symlink ):
7978 os .remove (self .latest_symlink )
80- latest = os .path .join (self .base_dir , self .latest )
81- logging .info ("Updating %s latest symlink to current backup path: %s" % (self .backup_name , latest ))
82- os .symlink (latest , self .latest_symlink )
79+ logging .info ("Updating %s latest symlink to current backup path: %s" % (self .backup_name , self .latest ["path" ]))
80+ os .symlink (self .latest ["path" ], self .latest_symlink )
8381
8482 if os .path .islink (self .previous_symlink ):
8583 os .remove (self .previous_symlink )
8684 if self .previous :
87- previous = os .path .join (self .base_dir , self .previous )
88- logging .info ("Updating %s previous symlink to: %s" % (self .backup_name , previous ))
89- os .symlink (previous , self .previous_symlink )
85+ logging .info ("Updating %s previous symlink to: %s" % (self .backup_name , self .previous ["path" ]))
86+ os .symlink (self .previous ["path" ], self .previous_symlink )
9087 except Exception , e :
9188 logging .error ("Error creating backup symlinks: %s" % e )
9289 raise OperationError (e )
0 commit comments