Message.message_id now is a property

This commit is contained in:
Sergey Lavrinenko 2015-04-22 13:48:44 +03:00
parent 2e12966228
commit 4fefaf0d9f
2 changed files with 10 additions and 1 deletions

View File

@ -136,12 +136,17 @@ class BaseMessage(object):
date = property(get_date, set_date)
message_date = date
@property
def message_id(self):
mid = self._message_id
if mid is False:
return None
return is_callable(mid) and mid() or mid
@message_id.setter
def message_id(self, value):
self._message_id = value
@property
def attachments(self):
if self._attachments is None:
@ -208,7 +213,7 @@ class MessageBuildMixin(object):
msg.preamble = self.ROOT_PREAMBLE
self.set_header(msg, 'Date', self.date, encode=False)
self.set_header(msg, 'Message-ID', self.message_id(), encode=False)
self.set_header(msg, 'Message-ID', self.message_id, encode=False)
if self._headers:
for (name, value) in self._headers.items():

View File

@ -159,6 +159,10 @@ def test_message_id():
m = Message(**params)
assert not m.as_message()['Message-ID']
# Check message-id property setter
m.message_id = 'ZZZ'
assert m.as_message()['Message-ID'] == 'ZZZ'
# Check message-id exists when argument specified
m = Message(message_id=MessageID(), **params)
assert m.as_message()['Message-ID']