summaryrefslogtreecommitdiff
path: root/service/app/adapter
diff options
context:
space:
mode:
Diffstat (limited to 'service/app/adapter')
-rw-r--r--service/app/adapter/__init__.py1
-rw-r--r--service/app/adapter/mail_converter.py19
-rw-r--r--service/app/adapter/mail_service.py76
3 files changed, 96 insertions, 0 deletions
diff --git a/service/app/adapter/__init__.py b/service/app/adapter/__init__.py
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/service/app/adapter/__init__.py
@@ -0,0 +1 @@
+
diff --git a/service/app/adapter/mail_converter.py b/service/app/adapter/mail_converter.py
new file mode 100644
index 00000000..a77fcdb7
--- /dev/null
+++ b/service/app/adapter/mail_converter.py
@@ -0,0 +1,19 @@
+class MailConverter:
+
+ def __init__(self, mail_service):
+ pass
+
+ def from_mail(self, imap_mail):
+ return inbox_mail
+
+
+ def to_mail(self, pixelated_mail, account):
+ raise NotImplementedError()
+
+
+ def from_tag(self, imap_tag):
+ raise NotImplementedError()
+
+
+ def from_contact(self, imap_contact):
+ raise NotImplementedError()
diff --git a/service/app/adapter/mail_service.py b/service/app/adapter/mail_service.py
new file mode 100644
index 00000000..b9ea238f
--- /dev/null
+++ b/service/app/adapter/mail_service.py
@@ -0,0 +1,76 @@
+import traceback
+import sys
+import os
+from app.bitmask_libraries.config import LeapConfig
+from app.bitmask_libraries.provider import LeapProvider
+from app.bitmask_libraries.session import LeapSessionFactory
+from app.bitmask_libraries.auth import LeapCredentials
+
+
+class MailService:
+ def __init__(self):
+ try:
+ self.username = 'test_user'
+ self.password = 'testpassword'
+ self.server_name = 'example.wazokazi.is'
+ self.mailbox_name = 'inbox'
+ self.leapdir = os.path.join(os.path.abspath("."), "leap")
+
+ self._open_leap_session()
+ except:
+ traceback.print_exc(file=sys.stdout)
+ raise
+
+ def _open_leap_session(self):
+ self.leap_config = LeapConfig(leap_home=self.leapdir)
+ self.provider = LeapProvider(self.server_name, self.leap_config)
+ self.leap_session = LeapSessionFactory(self.provider).create(LeapCredentials(self.username, self.password))
+ self.mail_box = self.leap_session.account.getMailbox(self.mailbox_name)
+
+ def mails(self, query):
+ self.mail_box.messages
+ return []
+
+
+ def drafts(self):
+ return []
+
+ def mail(self, mail_id):
+ raise NotImplementedError()
+
+ def thread(self, thread_id):
+ raise NotImplementedError()
+
+ def mark_as_read(self, mail_id):
+ raise NotImplementedError()
+
+ def tags_for_thread(self, thread):
+ raise NotImplementedError()
+
+ def add_tag_to_thread(self, thread_id, tag):
+ raise NotImplementedError()
+
+ def remove_tag_from_thread(self, thread_id, tag):
+ raise NotImplementedError()
+
+ def delete_mail(self, mail_id):
+ raise NotImplementedError()
+
+ def save_draft(self, draft):
+ raise NotImplementedError()
+
+ def send_draft(self, draft):
+ raise NotImplementedError()
+
+ def draft_reply_for(self, mail_id):
+ raise NotImplementedError()
+
+ def all_tags(self):
+ raise NotImplementedError()
+
+ def all_contacts(self, query):
+ raise NotImplementedError()
+
+if __name__ == '__main__':
+ print('Running Standalone')
+ client = Client()