This repository was archived by the owner on Oct 18, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathIncomingMessage.py
More file actions
45 lines (38 loc) · 1.41 KB
/
Copy pathIncomingMessage.py
File metadata and controls
45 lines (38 loc) · 1.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
from datetime import datetime
from ..lib import digits_only
class IncomingMessage(object):
""" Incoming Message: Mobile Originated (MO)
Represents a message received from the provider
"""
#: Provider name
provider = None
def __init__(self, src, body, msgid=None, dst=None, rtime=None, meta=None):
""" Create the received message struct
:type src: str
:param src: Source number (sender)
:type body: str | unicode
:param body: Message contents
:type msgid: str | None
:param msgid: Message ID from the provider
:type dst: str | None
:param dst: Destination number (receiver)
:type rtime: datetime
:param rtime: Received time, naive, UTC
:type meta: dict | None
:param meta: Provider-dependent message info
"""
self.msgid = msgid
self.src = digits_only(src)
self.body = body
self.dst = digits_only(dst) if dst else None
self.rtime = rtime or datetime.utcnow()
self.meta = meta or {}
def __repr__(self):
return '{cls}({provider!r}, {src!r}, {body!r}, dst={dst!r}, msgid={msgid!r})'.format(
cls=self.__class__.__name__,
provider=self.provider,
src=self.src,
dst=self.dst,
body=self.body,
msgid=self.msgid
)