8000 Merge pull request #226 from morrissimo/RM-add_before_after_support_t… · vrosnet/twilio-python@0a9c7a9 · GitHub
[go: up one dir, main page]

Skip to content

Commit 0a9c7a9

Browse files
committed
Merge pull request twilio#226 from morrissimo/RM-add_before_after_support_to_recordings_iter
Add before and after date param support to Recordings iter method
2 parents 49ff0b5 + f5303ed commit 0a9c7a9

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

tests/test_recordings.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,24 @@ def test_paging(mock):
2727
use_json_extension=True)
2828

2929

30+
@patch("twilio.rest.resources.base.make_twilio_request")
31+
def test_paging_iter(mock):
32+
resp = create_mock_json("tests/resources/recordings_list.json")
33+
mock.return_value = resp
34+
35+
uri = "%s/Recordings" % (BASE_URI)
36+
37+
next(recordings.iter(before=date(2010, 12, 5)))
38+
exp_params = {'DateCreated<': '2010-12-05'}
39+
mock.assert_called_with("GET", uri, params=exp_params, auth=AUTH,
40+
use_json_extension=True)
41+
42+
next(recordings.iter(after=date(2012, 12, 7)))
43+
exp_params = {'DateCreated>': '2012-12-07'}
44+
mock.assert_called_with("GET", uri, params=exp_params, auth=AUTH,
45+
use_json_extension=True)
46+
47+
3048
@patch("twilio.rest.resources.base.make_twilio_request")
3149
def test_get(mock):
3250
resp = create_mock_json("tests/resources/recordings_instance.json")

twilio/rest/resources/recordings.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,18 @@ def list(self, before=None, after=None, **kwargs):
4141
kwargs["DateCreated>"] = after
4242
return self.get_instances(kwargs)
4343

44+
@normalize_dates
45+
def iter(self, before=None, after=None, **kwargs):
46+
"""
47+
Returns an iterator of :class:`Recording` resources.
48+
49+
:param date after: Only list recordings logged after this datetime
50+
:param date before: Only list recordings logger before this datetime
51+
"""
52+
kwargs["DateCreated<"] = before
53+
kwargs["DateCreated>"] = after
54+
return super(Recordings, self).iter(**kwargs)
55+
4456
def delete(self, sid):
4557
"""
4658
Delete the given recording

0 commit comments

Comments
 (0)
0