summaryrefslogtreecommitdiff
path: root/service/pixelated/adapter/pixelated_mail.py
diff options
context:
space:
mode:
Diffstat (limited to 'service/pixelated/adapter/pixelated_mail.py')
-rw-r--r--service/pixelated/adapter/pixelated_mail.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/service/pixelated/adapter/pixelated_mail.py b/service/pixelated/adapter/pixelated_mail.py
index df9b4bbe..92b55ad4 100644
--- a/service/pixelated/adapter/pixelated_mail.py
+++ b/service/pixelated/adapter/pixelated_mail.py
@@ -25,7 +25,13 @@ from email.MIMEText import MIMEText
class PixelatedMail:
def __init__(self):
- pass
+ self.body = ''
+ self.headers = {}
+ self.ident = None
+ self.status = []
+ self.security_casing = {}
+ self.tags = []
+ self.ident = None
@staticmethod
def from_leap_mail(leap_mail, leap_mailbox=None):
@@ -34,7 +40,7 @@ class PixelatedMail:
mail.leap_mailbox = leap_mailbox
mail.body = leap_mail.bdoc.content['raw']
mail.headers = mail._extract_headers()
- mail.date = PixelatedMail._get_date(mail.headers)
+ mail.headers['date'] = PixelatedMail._get_date(mail.headers)
mail.status = set(mail._extract_status())
mail.security_casing = {}
mail.tags = mail._extract_tags()
@@ -121,10 +127,8 @@ class PixelatedMail:
def as_dict(self):
statuses = [status.name for status in self.status]
- _headers = self.headers.copy()
- _headers['date'] = self.date
return {
- 'header': _headers,
+ 'header': self.headers,
'ident': self.ident,
'tags': list(self.tags),
'status': statuses,
@@ -147,6 +151,9 @@ class PixelatedMail:
mime_multipart['From'] = PixelatedMail.from_email_address
return mime_multipart.as_string()
+ def set_ident(self, mailbox_name, uid):
+ self.ident = gen_pixelated_uid(mailbox_name, uid)
+
@staticmethod
def from_dict(mail_dict):
return from_dict(mail_dict)