summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2011-04-05 16:48:06 +0100
committerLars Wirzenius <liw@liw.fi>2011-04-05 16:48:06 +0100
commit89ba6edad09d4ae42f104b2eb2ac80801dd79816 (patch)
treebd5817ba3b3b7996d47fd2697a8643ef55bbd8cf
parent0f168811e7bf0dcaf0c2073d0448d9ba41f8c512 (diff)
downloadobnam-89ba6edad09d4ae42f104b2eb2ac80801dd79816.tar.gz
Harmonize arguments for hooks and add arguments to repository-toplevel-init.
-rw-r--r--obnamlib/plugins/encryption_plugin.py16
-rw-r--r--obnamlib/repo.py10
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)