From 3135421cbfded2111328178505b98753b9644a65 Mon Sep 17 00:00:00 2001 From: Kali Kaneko Date: Mon, 8 May 2017 14:33:38 +0200 Subject: [feat] toggle switch for blobs in the client - Resolves: #8839 --- src/leap/soledad/client/api.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/leap/soledad/client/api.py b/src/leap/soledad/client/api.py index c62b43f0..f7854158 100644 --- a/src/leap/soledad/client/api.py +++ b/src/leap/soledad/client/api.py @@ -109,7 +109,7 @@ class Soledad(object): def __init__(self, uuid, passphrase, secrets_path, local_db_path, server_url, cert_file, shared_db=None, - auth_token=None): + auth_token=None, with_blobs=False): """ Initialize configuration, cryptographic keys and dbs. @@ -146,6 +146,12 @@ class Soledad(object): Authorization token for accessing remote databases. :type auth_token: str + :param with_blobs: + A boolean that specifies if this soledad instance should enable + blobs storage when initialized. This will raise if it's not the + first initialization and the passed value is different from when + the database was first initialized. + :raise BootstrapSequenceError: Raised when the secret initialization sequence (i.e. retrieval from server or generation and storage on server) has failed for @@ -172,7 +178,6 @@ class Soledad(object): self._recovery_code = RecoveryCode() self._secrets = Secrets(self) self._crypto = SoledadCrypto(self._secrets.remote_secret) - self._init_blobmanager() try: # initialize database access, trap any problems so we can shutdown @@ -188,6 +193,11 @@ class Soledad(object): self._dbpool.close() raise + if with_blobs: + self._init_blobmanager() + else: + self.blobmanager = None + # # initialization/destruction methods # -- cgit v1.2.3