8000 Merge pull request #291 from MikeBenza/add-messages-iter · umarWaris/twilio-python@3f59c62 · GitHub
[go: up one dir, main page]

Skip to content

Commit 3f59c62

Browse files
authored
Merge pull request twilio#291 from MikeBenza/add-messages-iter
Add iter function to messages resource
2 parents 7441999 + ee9036d commit 3f59c62

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed

tests/test_messages.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from six import u
66

77
from twilio.rest.resources import Messages
8+
from twilio.rest.resources import ListResource
89

910
DEFAULT = {
1011
'From': None,
@@ -38,6 +39,16 @@ def test_list_before(self):
3839
self.params['DateSent<'] = "2011-01-01"
3940
mock.assert_called_with(self.params)
4041

42+
def test_iter_params(self):
43+
with patch.object(ListResource, 'iter') as mock:
44+
self.resource.iter(before=date(2016, 1, 1), after=date(2011, 1, 1), date_sent=date(2016, 2, 1), to="+15005551212", from_="+15005559999")
45+
self.params['DateSent<'] = "2016-01-01"
46+
self.params['DateSent>'] = "2011-01-01"
47+
self.params['DateSent'] = "2016-02-01"
48+
self.params['To'] = "+15005551212"
49+
self.params['From'] = "+15005559999"
50+
mock.assert_called_with(**self.params)
51+
4152
def test_create(self):
4253
with patch.object(self.resource, 'create_instance') as mock:
4354
self.resource.create(

twilio/rest/resources/messages.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,22 @@ def list(self, from_=None, before=None, after=None, date_sent=None, **kw):
142142
kw["DateSent"] = parse_date(date_sent)
143143
return self.get_instances(kw)
144144

145+
@normalize_dates
146+
def iter(self, from_=None, to=None, before=None, after=None,
147+
date_sent=None, **kwargs):
148+
"""
149+
Returns an iterator of :class:`Message` resources.
150+
151+
:param date after: Only list calls started after this datetime
152+
:param date before: Only list calls started before this datetime
153+
"""
154+
kwargs["From"] = from_
155+
kwargs["To"] = to
156+
kwargs["DateSent<"] = before
157+
kwargs["DateSent>"] = after
158+
kwargs["DateSent"] = parse_date(date_sent)
159+
return super(Messages, self).iter(**kwargs)
160+
145161
def update(self, sid, **kwargs):
146162
""" Updates the message for the given sid
147163
:param sid: The sid of the message to update.

0 commit comments

Comments
 (0)
0