diff options
author | Kali Kaneko <kali@leap.se> | 2014-09-16 11:43:58 -0500 |
---|---|---|
committer | Kali Kaneko <kali@leap.se> | 2014-09-16 11:43:58 -0500 |
commit | 509f76c21c7c847dc4111847a3585be7bb67e350 (patch) | |
tree | ee7b2d6bf5921fee9de6e27b0a7a6d97ab559364 /scripts/profiling/mail/soledad_client.py | |
parent | 22d3a8d4c6a1e652109378245989f4f6a71d1f42 (diff) | |
parent | 2f1ee76a7169abc100efdf706f12a0abf6032f04 (diff) |
Merge remote-tracking branch 'drebs-github/add-benchmarking-scripts' into develop
Diffstat (limited to 'scripts/profiling/mail/soledad_client.py')
-rw-r--r-- | scripts/profiling/mail/soledad_client.py | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/scripts/profiling/mail/soledad_client.py b/scripts/profiling/mail/soledad_client.py new file mode 100644 index 00000000..5ac8ce39 --- /dev/null +++ b/scripts/profiling/mail/soledad_client.py @@ -0,0 +1,40 @@ +import tempfile +import os +import shutil + +from leap.soledad.client import Soledad + + +class SoledadClient(object): + + def __init__(self, uuid, server_url, auth_token): + self._uuid = uuid + self._server_url = server_url + self._auth_token = auth_token + self._tempdir = None + self._soledad = None + + @property + def instance(self): + if self._soledad is None: + self._soledad = self._get_soledad_client() + return self._soledad + + def _get_soledad_client(self): + self._tempdir = tempfile.mkdtemp() + return Soledad( + uuid=self._uuid, + passphrase=u'123', + secrets_path=os.path.join(self._tempdir, 'secrets.json'), + local_db_path=os.path.join(self._tempdir, 'soledad.db'), + server_url=self._server_url, + cert_file=None, + auth_token=self._auth_token, + secret_id=None, + defer_encryption=True) + + def close(self): + if self._soledad is not None: + self._soledad.close() + if self._tempdir is not None: + shutil.rmtree(self._tempdir) |