From: Philipp Gesang Date: Fri, 31 Mar 2017 13:01:20 +0000 (+0200) Subject: pass encryption context to tarfile X-Git-Url: http://developer.intra2net.com/git/?a=commitdiff_plain;h=356ad498ac9c888b9ce8c03378697499a1b50a6d;p=python-delta-tar pass encryption context to tarfile This supersedes the individual parameters. --- diff --git a/deltatar/deltatar.py b/deltatar/deltatar.py index 9455643..cfd584c 100644 --- a/deltatar/deltatar.py +++ b/deltatar/deltatar.py @@ -797,8 +797,7 @@ class DeltaTar(object): mode='w' + self.mode, format=tarfile.GNU_FORMAT, concat_compression='#gz' in self.mode, - password=self.password, - nacl=self.nacl, + encryption=self.crypto_ctx, max_volume_size=max_volume_size, new_volume_handler=new_volume_handler, save_to_members=False, @@ -1010,8 +1009,7 @@ class DeltaTar(object): mode='r' + self.delta_tar.mode, format=tarfile.GNU_FORMAT, concat_compression='#gz' in self.delta_tar.mode, - password=self.delta_tar.password, - nacl=self.delta_tar.nacl, + encryption=self.delta_tar.crypto_ctx, new_volume_handler=self.new_volume_handler, save_to_members=False, dereference=True) @@ -1182,12 +1180,15 @@ class DeltaTar(object): if not os.path.isabs(backup_path): backup_path = os.path.join(cwd, backup_path) new_volume_handler = partial(new_volume_handler, self, cwd, backup_path) + + if self.password is not None: + self.crypto_ctx = crypto.Decrypt (self.password) + tarobj = tarfile.TarFile.open(backup_tar_path, mode='r' + self.mode, format=tarfile.GNU_FORMAT, concat_compression='#gz' in self.mode, - password=self.password, - nacl=self.nacl, + encryption=self.crypto_ctx, new_volume_handler=new_volume_handler, save_to_members=False, dereference=True) @@ -1688,8 +1689,7 @@ class RestoreHelper(object): fileobj=index_data['vol_fd'], format=tarfile.GNU_FORMAT, concat_compression='#gz' in self._deltatar.mode, - password=self._deltatar.password, - nacl=self._deltatar.nacl, + encryption=self._deltatar.crypto_ctx, new_volume_handler=index_data['new_volume_handler'], save_to_members=False)