diff options
author | Lars Wirzenius <liw@liw.fi> | 2011-04-05 16:48:06 +0100 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2011-04-05 16:48:06 +0100 |
commit | 89ba6edad09d4ae42f104b2eb2ac80801dd79816 (patch) | |
tree | bd5817ba3b3b7996d47fd2697a8643ef55bbd8cf | |
parent | 0f168811e7bf0dcaf0c2073d0448d9ba41f8c512 (diff) | |
download | obnam-89ba6edad09d4ae42f104b2eb2ac80801dd79816.tar.gz |
Harmonize arguments for hooks and add arguments to repository-toplevel-init.
-rw-r--r-- | obnamlib/plugins/encryption_plugin.py | 16 | ||||
-rw-r--r-- | obnamlib/repo.py | 10 |
2 files changed, 13 insertions, 13 deletions
diff --git a/obnamlib/plugins/encryption_plugin.py b/obnamlib/plugins/encryption_plugin.py index e9f8fbe4..bb4d6790 100644 --- a/obnamlib/plugins/encryption_plugin.py +++ b/obnamlib/plugins/encryption_plugin.py @@ -47,26 +47,26 @@ class EncryptionPlugin(obnamlib.ObnamPlugin): encrypted = obnamlib.encrypt_symmetric(encoded, symmetric_key) repo.fs.write_file(os.path.join(name, 'userkeys'), encrypted) - def get_symmetric_key(self, repo, toplevel): - encoded = repo.fs.cat(os.path.join(toplevel, 'key')) - return obnamlib.decrypt_with_secret_keys(encoded) - - def toplevel_read_data(self, repo, toplevel, encrypted): + def toplevel_read_data(self, encrypted, repo, toplevel): symmetric_key = self.get_symmetric_key(repo, toplevel) return obnamlib.decrypt_with_symmetric_key(encrypted, symmetric_key) - def toplevel_write_data(self, repo, toplevel, cleartext): + def toplevel_write_data(self, cleartext, repo, toplevel): symmetric_key = self.get_symmetric_key(repo, toplevel) return obnamlib.encrypt_with_symmetric_key(cleartext, symmetric_key) + def get_symmetric_key(self, repo, toplevel): + encoded = repo.fs.cat(os.path.join(toplevel, 'key')) + return obnamlib.decrypt_with_secret_keys(encoded) + def read_keyring(self, repo, toplevel): encrypted = repo.fs.cat(os.path.join(toplevel, 'userkeys')) - encoded = self.toplevel_read_data(repo, toplevel, encrypted) + encoded = self.toplevel_read_data(encrypted, repo, toplevel) return obnamlib.Keyring(encoded=encoded) def write_keyring(self, repo, toplevel, keyring): encoded = str(keyring) - encrypted = self.toplevel_write_data(repo, toplevel, encoded) + encrypted = self.toplevel_write_data(encoded, repo, toplevel) pathname = os.path.join(toplevel, 'userkeys') repo.fs.overwrite_file(pathname, encrypted) diff --git a/obnamlib/repo.py b/obnamlib/repo.py index 12fc2b0a..cad485f2 100644 --- a/obnamlib/repo.py +++ b/obnamlib/repo.py @@ -152,18 +152,18 @@ class HookedFS(object): data = self.fs.cat(filename) toplevel = self._get_toplevel(filename) return self.hooks.call('repository-read-data', data, - repository=self.repo, toplevel=toplevel) + repo=self.repo, toplevel=toplevel) def write_file(self, filename, data): toplevel = self._get_toplevel(filename) data = self.hooks.call('repository-write-data', data, - repository=self.repo, toplevel=toplevel) + repo=self.repo, toplevel=toplevel) self.fs.write_file(filename, data) def overwrite_file(self, filename, data): toplevel = self._get_toplevel(filename) data = self.hooks.call('repository-write-data', data, - repository=self.repo, toplevel=toplevel) + repo=self.repo, toplevel=toplevel) self.fs.overwrite_file(filename, data) @@ -335,7 +335,7 @@ class Repository(object): '''Write the desired format version to the repository.''' if not self.fs.exists('metadata'): self.fs.mkdir('metadata') - self.hooks.call('repository-toplevel-init', 'metadata') + self.hooks.call('repository-toplevel-init', self, 'metadata') self.fs.overwrite_file('metadata/format', '%s\n' % version) def check_format_version(self): @@ -589,7 +589,7 @@ class Repository(object): self.prev_chunkid = chunkid if not self.fs.exists('chunks'): self.fs.mkdir('chunks') - self.hooks.call('repository-toplevel-init', 'chunks') + self.hooks.call('repository-toplevel-init', self, 'chunks') dirname = os.path.dirname(filename) if not self.fs.exists(dirname): self.fs.makedirs(dirname) |