summaryrefslogtreecommitdiff
path: root/service/pixelated/adapter/soledad_querier.py
diff options
context:
space:
mode:
authorDuda Dornelles <ddornell@thoughtworks.com>2014-11-10 15:25:41 -0200
committerDuda Dornelles <ddornell@thoughtworks.com>2014-11-10 17:54:12 -0200
commit84689864542cb9c6c356b5204f94dd7a0ea7a777 (patch)
tree268f8914c0e89d653ae46a33952ee6da47b914c1 /service/pixelated/adapter/soledad_querier.py
parent636bbf638b3b0fbd6de3b194fb91257de4fe5d5b (diff)
adding encrypted file index to whoosh
Diffstat (limited to 'service/pixelated/adapter/soledad_querier.py')
-rw-r--r--service/pixelated/adapter/soledad_querier.py15
1 files changed, 13 insertions, 2 deletions
diff --git a/service/pixelated/adapter/soledad_querier.py b/service/pixelated/adapter/soledad_querier.py
index e36f2e1a..c1e0350e 100644
--- a/service/pixelated/adapter/soledad_querier.py
+++ b/service/pixelated/adapter/soledad_querier.py
@@ -13,17 +13,28 @@
#
# You should have received a copy of the GNU Affero General Public License
# along with Pixelated. If not, see <http://www.gnu.org/licenses/>.
-from pixelated.adapter.mail import PixelatedMail
-import re
import base64
import quopri
+from cryptography.fernet import Fernet
+from pixelated.adapter.mail import PixelatedMail
+import re
+
class SoledadQuerier:
def __init__(self, soledad):
self.soledad = soledad
+ @property
+ def get_index_masterkey(self):
+ index_key = self.soledad.get_from_index('by-type', 'index_key')
+ if len(index_key) == 0:
+ index_key = Fernet.generate_key()
+ self.soledad.create_doc(dict(type='index_key', value=index_key))
+ return index_key
+ return str(index_key[0].content['value'])
+
def _remove_many(self, docs):
[self.soledad.delete_doc(doc) for doc in docs]