From bf7b6aa193188c95c50cbc9d24f4be56afa6dc6f Mon Sep 17 00:00:00 2001 From: Duda Dornelles Date: Tue, 12 Aug 2014 16:45:26 -0300 Subject: sending mails in py-fake-service --- py-fake-service/app/adapter/mail.py | 38 ++++++++++++++++++++++++++++--------- 1 file changed, 29 insertions(+), 9 deletions(-) (limited to 'py-fake-service/app/adapter/mail.py') diff --git a/py-fake-service/app/adapter/mail.py b/py-fake-service/app/adapter/mail.py index 380d1e2c..242501c8 100644 --- a/py-fake-service/app/adapter/mail.py +++ b/py-fake-service/app/adapter/mail.py @@ -1,15 +1,31 @@ from datetime import datetime import random +import calendar class Mail: - def __init__(self, mbox_mail, ident): - self.header = self._get_headers(mbox_mail) - self.ident = ident - self.body = mbox_mail.get_payload() - self.tags = self._get_tags(mbox_mail) - self.security_casing = {} - self.status = self._get_status() + NOW = calendar.timegm(datetime.strptime(datetime.now().isoformat(), "%Y-%m-%dT%H:%M:%S.%f").timetuple()) + @staticmethod + def from_json(mail_json): + mail = Mail() + mail.header = mail_json['header'] + mail.header['date'] = datetime.now().isoformat() + mail.ident = mail_json['ident'] or 0 + mail.body = mail_json['body'] + mail.tags = mail_json['tags'] + mail.security_casing = {} + mail.status = [] + return mail + + + def __init__(self, mbox_mail=None, ident=None): + if mbox_mail: + self.header = self._get_headers(mbox_mail) + self.ident = ident + self.body = mbox_mail.get_payload() + self.tags = self._get_tags(mbox_mail) + self.security_casing = {} + self.status = self._get_status() def _get_status(self): status = [] @@ -23,7 +39,7 @@ class Mail: headers['from'] = mbox_mail.get_from() headers['to'] = [mbox_mail.get('To')] headers['subject'] = mbox_mail.get('Subject') - headers['date'] = datetime.fromtimestamp(random.randrange(1222222222, 1444444444)).isoformat() + headers['date'] = datetime.fromtimestamp(random.randrange(1222222222, self.NOW)).isoformat() return headers def _get_tags(self, mbox_mail): @@ -32,4 +48,8 @@ class Mail: @property def subject(self): - return self.headers['subject'] + return self.header['subject'] + + @property + def date(self): + return self.header['date'] -- cgit v1.2.3