os.chdir(target_path)
if mode == 'tar':
- index_it = self.iterate_tar_path(backup_tar_path)
+ def new_volume_handler(deltarobj, backup_path, tarobj, base_name, volume_number):
+ ''' Handles the new volumes '''
+ is_full = True
+ volume_name = deltarobj.volume_name_func(backup_path, is_full,
+ volume_number)
+ volume_path = os.path.join(backup_path, volume_name)
+ deltarobj.vol_no = volume_number
+
+ if tarobj.fileobj is not None:
+ tarobj.fileobj.close()
+
+ deltarobj.logger.debug("opening volume %s" % volume_path)
+ tarobj.open_volume(volume_path)
+
+ # will be used by TarFile
+ # wraps some args from context into the handler
+ new_volume_handler = partial(new_volume_handler, self, os.path.dirname(backup_tar_path))
+ index_it = self.iterate_tar_path(backup_tar_path,
+ new_volume_handler=new_volume_handler)
helper = RestoreHelper(self, cwd, backup_path=backup_tar_path,
tarobj=index_it.tar_obj)
elif mode == "diff":