8000 Add iter function to messages resource · SituProbability/twilio-python@02cb44d · GitHub
[go: up one dir, main page]

Skip to content

Commit 02cb44d

Browse files
author
Mike Benza
committed
Add iter function to messages resource
Added the `iter` function to the messages resource which allows the user to specify `DateSent<` and `DateSent>` parameters.
1 parent 7441999 commit 02cb44d

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

tests/test_messages.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
from datetime import date
22
import unittest
3+
from tests.tools import create_mock_json
34

45
from mock import patch
56
from six import u
67

78
from twilio.rest.resources import Messages
9+
from twilio.rest.resources import ListResource
810

911
DEFAULT = {
1012
'From': None,
@@ -38,6 +40,18 @@ def test_list_before(self):
3840
self.params['DateSent<'] = "2011-01-01"
3941
mock.assert_called_with(self.params)
4042

43+
44+
def test_iter_params(self):
45+
with patch.object(ListResource, 'iter') as mock:
46+
self.resource.iter(before=date(2016, 1, 1), after=date(2011,1,1), date_sent=date(2016,2,1), to="+15005551212", from_="+15005559999")
47+
self.params['DateSent<'] = "2016-01-01"
48+
self.params['DateSent>'] = "2011-01-01"
49+
self.params['DateSent'] = "2016-02-01"
50+
self.params['To'] = "+15005551212"
51+
self.params['From'] = "+15005559999"
52+
mock.assert_called_with(**self.params)
53+
54+
4155
def test_create(self):
4256
with patch.object(self.resource, 'create_instance') as mock:
4357
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:`Call` 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