Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 33 additions & 3 deletions twilio/rest/api/v2010/account/call/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,9 @@ def create(self, to, from_, method=values.unset, fallback_url=values.unset,

def stream(self, to=values.unset, from_=values.unset,
parent_call_sid=values.unset, status=values.unset,
start_time=values.unset, end_time=values.unset, limit=None,
start_time_before=values.unset, start_time=values.unset,
start_time_after=values.unset, end_time_before=values.unset,
end_time=values.unset, end_time_after=values.unset, limit=None,
page_size=None):
"""
Streams CallInstance records from the API as a generator stream.
Expand All @@ -126,8 +128,12 @@ def stream(self, to=values.unset, from_=values.unset,
:param unicode from_: Phone number or Client identifier to filter `from` on
:param unicode parent_call_sid: Parent Call Sid to filter on
:param call.status status: Status to filter on
:param datetime start_time_before: StartTime to filter on
:param datetime start_time: StartTime to filter on
:param datetime start_time_after: StartTime to filter on
:param datetime end_time_before: EndTime to filter on
:param datetime end_time: EndTime to filter on
:param datetime end_time_after: EndTime to filter on
:param int limit: Upper limit for the number of records to return. stream()
guarantees to never return more than limit. Default is no limit
:param int page_size: Number of records to fetch per request, when not set will use
Expand All @@ -145,16 +151,22 @@ def stream(self, to=values.unset, from_=values.unset,
from_=from_,
parent_call_sid=parent_call_sid,
status=status,
start_time_before=start_time_before,
start_time=start_time,
start_time_after=start_time_after,
end_time_before=end_time_before,
end_time=end_time,
end_time_after=end_time_after,
page_size=limits['page_size'],
)

return self._version.stream(page, limits['limit'], limits['page_limit'])

def list(self, to=values.unset, from_=values.unset,
parent_call_sid=values.unset, status=values.unset,
start_time=values.unset, end_time=values.unset, limit=None,
start_time_before=values.unset, start_time=values.unset,
start_time_after=values.unset, end_time_before=values.unset,
end_time=values.unset, end_time_after=values.unset, limit=None,
page_size=None):
"""
Lists CallInstance records from the API as a list.
Expand All @@ -165,8 +177,12 @@ def list(self, to=values.unset, from_=values.unset,
:param unicode from_: Phone number or Client identifier to filter `from` on
:param unicode parent_call_sid: Parent Call Sid to filter on
:param call.status status: Status to filter on
:param datetime start_time_before: StartTime to filter on
:param datetime start_time: StartTime to filter on
:param datetime start_time_after: StartTime to filter on
:param datetime end_time_before: EndTime to filter on
:param datetime end_time: EndTime to filter on
:param datetime end_time_after: EndTime to filter on
:param int limit: Upper limit for the number of records to return. list() guarantees
never to return more than limit. Default is no limit
:param int page_size: Number of records to fetch per request, when not set will use
Expand All @@ -182,15 +198,21 @@ def list(self, to=values.unset, from_=values.unset,
from_=from_,
parent_call_sid=parent_call_sid,
status=status,
start_time_before=start_time_before,
start_time=start_time,
start_time_after=start_time_after,
end_time_before=end_time_before,
end_time=end_time,
end_time_after=end_time_after,
limit=limit,
page_size=page_size,
))

def page(self, to=values.unset, from_=values.unset,
parent_call_sid=values.unset, status=values.unset,
start_time=values.unset, end_time=values.unset,
start_time_before=values.unset, start_time=values.unset,
start_time_after=values.unset, end_time_before=values.unset,
end_time=values.unset, end_time_after=values.unset,
page_token=values.unset, page_number=values.unset,
page_size=values.unset):
"""
Expand All @@ -201,8 +223,12 @@ def page(self, to=values.unset, from_=values.unset,
:param unicode from_: Phone number or Client identifier to filter `from` on
:param unicode parent_call_sid: Parent Call Sid to filter on
:param call.status status: Status to filter on
:param datetime start_time_before: StartTime to filter on
:param datetime start_time: StartTime to filter on
:param datetime start_time_after: StartTime to filter on
:param datetime end_time_before: EndTime to filter on
:param datetime end_time: EndTime to filter on
:param datetime end_time_after: EndTime to filter on
:param str page_token: PageToken provided by the API
:param int page_number: Page Number, this value is simply for client state
:param int page_size: Number of records to return, defaults to 50
Expand All @@ -215,8 +241,12 @@ def page(self, to=values.unset, from_=values.unset,
'From': from_,
'ParentCallSid': parent_call_sid,
'Status': status,
'StartTime<': serialize.iso8601_datetime(start_time_before),
'StartTime': serialize.iso8601_datetime(start_time),
'StartTime>': serialize.iso8601_datetime(start_time_after),
'EndTime<': serialize.iso8601_datetime(end_time_before),
'EndTime': serialize.iso8601_datetime(end_time),
'EndTime>': serialize.iso8601_datetime(end_time_after),
'PageToken': page_token,
'Page': page_number,
'PageSize': page_size,
Expand Down
29 changes: 22 additions & 7 deletions twilio/rest/api/v2010/account/message/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,8 +81,9 @@ def create(self, to, status_callback=values.unset, application_sid=values.unset,
account_sid=self._solution['account_sid'],
)

def stream(self, to=values.unset, from_=values.unset, date_sent=values.unset,
limit=None, page_size=None):
def stream(self, to=values.unset, from_=values.unset,
date_sent_before=values.unset, date_sent=values.unset,
date_sent_after=values.unset, limit=None, page_size=None):
"""
Streams MessageInstance records from the API as a generator stream.
This operation lazily loads records as efficiently as possible until the limit
Expand All @@ -91,7 +92,9 @@ def stream(self, to=values.unset, from_=values.unset, date_sent=values.unset,

:param unicode to: Filter by messages to this number
:param unicode from_: Filter by from number
:param datetime date_sent_before: Filter by date sent
:param datetime date_sent: Filter by date sent
:param datetime date_sent_after: Filter by date sent
:param int limit: Upper limit for the number of records to return. stream()
guarantees to never return more than limit. Default is no limit
:param int page_size: Number of records to fetch per request, when not set will use
Expand All @@ -107,22 +110,27 @@ def stream(self, to=values.unset, from_=values.unset, date_sent=values.unset,
page = self.page(
to=to,
from_=from_,
date_sent_before=date_sent_before,
date_sent=date_sent,
date_sent_after=date_sent_after,
page_size=limits['page_size'],
)

return self._version.stream(page, limits['limit'], limits['page_limit'])

def list(self, to=values.unset, from_=values.unset, date_sent=values.unset,
limit=None, page_size=None):
def list(self, to=values.unset, from_=values.unset,
date_sent_before=values.unset, date_sent=values.unset,
date_sent_after=values.unset, limit=None, page_size=None):
"""
Lists MessageInstance records from the API as a list.
Unlike stream(), this operation is eager and will load `limit` records into
memory before returning.

:param unicode to: Filter by messages to this number
:param unicode from_: Filter by from number
:param datetime date_sent_before: Filter by date sent
:param datetime date_sent: Filter by date sent
:param datetime date_sent_after: Filter by date sent
:param int limit: Upper limit for the number of records to return. list() guarantees
never to return more than limit. Default is no limit
:param int page_size: Number of records to fetch per request, when not set will use
Expand All @@ -136,21 +144,26 @@ def list(self, to=values.unset, from_=values.unset, date_sent=values.unset,
return list(self.stream(
to=to,
from_=from_,
date_sent_before=date_sent_before,
date_sent=date_sent,
date_sent_after=date_sent_after,
limit=limit,
page_size=page_size,
))

def page(self, to=values.unset, from_=values.unset, date_sent=values.unset,
page_token=values.unset, page_number=values.unset,
page_size=values.unset):
def page(self, to=values.unset, from_=values.unset,
date_sent_before=values.unset, date_sent=values.unset,
date_sent_after=values.unset, page_token=values.unset,
page_number=values.unset, page_size=values.unset):
"""
Retrieve a single page of MessageInstance records from the API.
Request is executed immediately

:param unicode to: Filter by messages to this number
:param unicode from_: Filter by from number
:param datetime date_sent_before: Filter by date sent
:param datetime date_sent: Filter by date sent
:param datetime date_sent_after: Filter by date sent
:param str page_token: PageToken provided by the API
:param int page_number: Page Number, this value is simply for client state
:param int page_size: Number of records to return, defaults to 50
Expand All @@ -161,7 +174,9 @@ def page(self, to=values.unset, from_=values.unset, date_sent=values.unset,
params = values.of({
'To': to,
'From': from_,
'DateSent<': serialize.iso8601_datetime(date_sent_before),
'DateSent': serialize.iso8601_datetime(date_sent),
'DateSent>': serialize.iso8601_datetime(date_sent_after),
'PageToken': page_token,
'Page': page_number,
'PageSize': page_size,
Expand Down
21 changes: 18 additions & 3 deletions twilio/rest/api/v2010/account/message/media.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,17 @@ def __init__(self, version, account_sid, message_sid):
}
self._uri = '/Accounts/{account_sid}/Messages/{message_sid}/Media.json'.format(**self._solution)

def stream(self, date_created=values.unset, limit=None, page_size=None):
def stream(self, date_created_before=values.unset, date_created=values.unset,
date_created_after=values.unset, limit=None, page_size=None):
"""
Streams MediaInstance records from the API as a generator stream.
This operation lazily loads records as efficiently as possible until the limit
is reached.
The results are returned as a generator, so this operation is memory efficient.

:param datetime date_created_before: Filter by date created
:param datetime date_created: Filter by date created
:param datetime date_created_after: Filter by date created
:param int limit: Upper limit for the number of records to return. stream()
guarantees to never return more than limit. Default is no limit
:param int page_size: Number of records to fetch per request, when not set will use
Expand All @@ -58,19 +61,24 @@ def stream(self, date_created=values.unset, limit=None, page_size=None):
limits = self._version.read_limits(limit, page_size)

page = self.page(
date_created_before=date_created_before,
date_created=date_created,
date_created_after=date_created_after,
page_size=limits['page_size'],
)

return self._version.stream(page, limits['limit'], limits['page_limit'])

def list(self, date_created=values.unset, limit=None, page_size=None):
def list(self, date_created_before=values.unset, date_created=values.unset,
date_created_after=values.unset, limit=None, page_size=None):
"""
Lists MediaInstance records from the API as a list.
Unlike stream(), this operation is eager and will load `limit` records into
memory before returning.

:param datetime date_created_before: Filter by date created
:param datetime date_created: Filter by date created
:param datetime date_created_after: Filter by date created
:param int limit: Upper limit for the number of records to return. list() guarantees
never to return more than limit. Default is no limit
:param int page_size: Number of records to fetch per request, when not set will use
Expand All @@ -82,18 +90,23 @@ def list(self, date_created=values.unset, limit=None, page_size=None):
:rtype: generator
"""
return list(self.stream(
date_created_before=date_created_before,
date_created=date_created,
date_created_after=date_created_after,
limit=limit,
page_size=page_size,
))

def page(self, date_created=values.unset, page_token=values.unset,
def page(self, date_created_before=values.unset, date_created=values.unset,
date_created_after=values.unset, page_token=values.unset,
page_number=values.unset, page_size=values.unset):
"""
Retrieve a single page of MediaInstance records from the API.
Request is executed immediately

:param datetime date_created_before: Filter by date created
:param datetime date_created: Filter by date created
:param datetime date_created_after: Filter by date created
:param str page_token: PageToken provided by the API
:param int page_number: Page Number, this value is simply for client state
:param int page_size: Number of records to return, defaults to 50
Expand All @@ -102,7 +115,9 @@ def page(self, date_created=values.unset, page_token=values.unset,
:rtype: Page
"""
params = values.of({
'DateCreated<': serialize.iso8601_datetime(date_created_before),
'DateCreated': serialize.iso8601_datetime(date_created),
'DateCreated>': serialize.iso8601_datetime(date_created_after),
'PageToken': page_token,
'Page': page_number,
'PageSize': page_size,
Expand Down
21 changes: 18 additions & 3 deletions twilio/rest/api/v2010/account/recording/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,15 +37,18 @@ def __init__(self, version, account_sid):
}
self._uri = '/Accounts/{account_sid}/Recordings.json'.format(**self._solution)

def stream(self, date_created=values.unset, call_sid=values.unset, limit=None,
def stream(self, date_created_before=values.unset, date_created=values.unset,
date_created_after=values.unset, call_sid=values.unset, limit=None,
page_size=None):
"""
Streams RecordingInstance records from the API as a generator stream.
This operation lazily loads records as efficiently as possible until the limit
is reached.
The results are returned as a generator, so this operation is memory efficient.

:param datetime date_created_before: Filter by date created
:param datetime date_created: Filter by date created
:param datetime date_created_after: Filter by date created
:param unicode call_sid: Filter by call_sid
:param int limit: Upper limit for the number of records to return. stream()
guarantees to never return more than limit. Default is no limit
Expand All @@ -60,21 +63,26 @@ def stream(self, date_created=values.unset, call_sid=values.unset, limit=None,
limits = self._version.read_limits(limit, page_size)

page = self.page(
date_created_before=date_created_before,
date_created=date_created,
date_created_after=date_created_after,
call_sid=call_sid,
page_size=limits['page_size'],
)

return self._version.stream(page, limits['limit'], limits['page_limit'])

def list(self, date_created=values.unset, call_sid=values.unset, limit=None,
def list(self, date_created_before=values.unset, date_created=values.unset,
date_created_after=values.unset, call_sid=values.unset, limit=None,
page_size=None):
"""
Lists RecordingInstance records from the API as a list.
Unlike stream(), this operation is eager and will load `limit` records into
memory before returning.

:param datetime date_created_before: Filter by date created
:param datetime date_created: Filter by date created
:param datetime date_created_after: Filter by date created
:param unicode call_sid: Filter by call_sid
:param int limit: Upper limit for the number of records to return. list() guarantees
never to return more than limit. Default is no limit
Expand All @@ -87,20 +95,25 @@ def list(self, date_created=values.unset, call_sid=values.unset, limit=None,
:rtype: generator
"""
return list(self.stream(
date_created_before=date_created_before,
date_created=date_created,
date_created_after=date_created_after,
call_sid=call_sid,
limit=limit,
page_size=page_size,
))

def page(self, date_created=values.unset, call_sid=values.unset,
def page(self, date_created_before=values.unset, date_created=values.unset,
date_created_after=values.unset, call_sid=values.unset,
page_token=values.unset, page_number=values.unset,
page_size=values.unset):
"""
Retrieve a single page of RecordingInstance records from the API.
Request is executed immediately

:param datetime date_created_before: Filter by date created
:param datetime date_created: Filter by date created
:param datetime date_created_after: Filter by date created
:param unicode call_sid: Filter by call_sid
:param str page_token: PageToken provided by the API
:param int page_number: Page Number, this value is simply for client state
Expand All @@ -110,7 +123,9 @@ def page(self, date_created=values.unset, call_sid=values.unset,
:rtype: Page
"""
params = values.of({
'DateCreated<': serialize.iso8601_datetime(date_created_before),
'DateCreated': serialize.iso8601_datetime(date_created),
'DateCreated>': serialize.iso8601_datetime(date_created_after),
'CallSid': call_sid,
'PageToken': page_token,
'Page': page_number,
Expand Down