summaryrefslogtreecommitdiff
path: root/service/pixelated/adapter/soledad_querier.py
diff options
context:
space:
mode:
authorBruno Wagner Goncalves <bwagner@thoughtworks.com>2014-09-23 15:35:36 -0300
committerBruno Wagner Goncalves <bwagner@thoughtworks.com>2014-09-23 15:35:36 -0300
commitad94610bfdcd7442ba8107e14b823c9db2e24bf7 (patch)
tree6af3e52035e3b52b5e8852ba619cdadcfbc6c879 /service/pixelated/adapter/soledad_querier.py
parent620a75e272f149ca4408dd46f67240cf0c2de8ec (diff)
Added basic mail saving
Diffstat (limited to 'service/pixelated/adapter/soledad_querier.py')
-rw-r--r--service/pixelated/adapter/soledad_querier.py15
1 files changed, 12 insertions, 3 deletions
diff --git a/service/pixelated/adapter/soledad_querier.py b/service/pixelated/adapter/soledad_querier.py
index 952c0606..bdfc28fe 100644
--- a/service/pixelated/adapter/soledad_querier.py
+++ b/service/pixelated/adapter/soledad_querier.py
@@ -1,10 +1,14 @@
from pixelated.adapter.pixelated_mail import PixelatedMail
-
class SoledadQuerier:
- def __init__(self, soledad):
- self.soledad = soledad
+ instance = None
+
+ @classmethod
+ def get_instance(cls):
+ if not cls.instance:
+ cls.instance = SoledadQuerier()
+ return cls.instance
def all_mails(self):
fdocs_chash = [(fdoc, fdoc.content['chash']) for fdoc in self.soledad.get_from_index('by-type', 'flags')]
@@ -19,3 +23,8 @@ class SoledadQuerier:
fdocs_hdocs_phash = [(f[0], f[1], f[1].content.get('body')) for f in fdocs_hdocs]
fdocs_hdocs_bdocs = [(f[0], f[1], self.soledad.get_from_index('by-type-and-payloadhash', 'cnt', f[2])[0]) for f in fdocs_hdocs_phash]
return [PixelatedMail.from_soledad(*raw_mail) for raw_mail in fdocs_hdocs_bdocs]
+
+ def save_mail(self, mail):
+ self.soledad.put_doc(mail.fdoc)
+ self.soledad.put_doc(mail.hdoc)
+ self.soledad.put_doc(mail.bdoc)