8000 Differentiate between date and date_time query params · DataXujing/twilio-python@c511111 · GitHub
[go: up one dir, main page]

Skip to content

Commit c511111

Browse files
committed
Differentiate between date and date_time query params
1 parent b69555b commit c511111

File tree

4 files changed

+91
-16
lines changed

4 files changed

+91
-16
lines changed

twilio/rest/api/v2010/account/call/__init__.py

Lines changed: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,9 @@ def create(self, to, from_, method=values.unset, fallback_url=values.unset,
114114

115115
def stream(self, to=values.unset, from_=values.unset,
116116
parent_call_sid=values.unset, status=values.unset,
117-
start_time=values.unset, end_time=values.unset, limit=None,
117+
start_time_before=values.unset, start_time=values.unset,
118+
start_time_after=values.unset, end_time_before=values.unset,
119+
end_time=values.unset, end_time_after=values.unset, limit=None,
118120
page_size=None):
119121
"""
120122
Streams CallInstance records from the API as a generator stream.
@@ -126,8 +128,12 @@ def stream(self, to=values.unset, from_=values.unset,
126128
:param unicode from_: Phone number or Client identifier to filter `from` on
127129
:param unicode parent_call_sid: Parent Call Sid to filter on
128130
:param call.status status: Status to filter on
131+
:param datetime start_time_before: StartTime to filter on
129132
:param datetime start_time: StartTime to filter on
133+
:param datetime start_time_after: StartTime to filter on
134+
:param datetime end_time_before: EndTime to filter on
130135
:param datetime end_time: EndTime to filter on
136+
:param datetime end_time_after: EndTime to filter on
131137
:param int limit: Upper limit for the number of records to return. stream()
132138
guarantees to never return more than limit. Default is no limit
133139
:param int page_size: Number of records to fetch per request, when not set will use
@@ -145,16 +151,22 @@ def stream(self, to=values.unset, from_=values.unset,
145151
from_=from_,
146152
parent_call_sid=parent_call_sid,
147153
status=status,
154+
start_time_before=start_time_before,
148155
start_time=start_time,
156+
start_time_after=start_time_after,
157+
end_time_before=end_time_before,
149158
end_time=end_time,
159+
end_time_after=end_time_after,
150160
page_size=limits['page_size'],
151161
)
152162

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

155165
def list(self, to=values.unset, from_=values.unset,
156166
parent_call_sid=values.unset, status=values.unset,
157-
start_time=values.unset, end_time=values.unset, limit=None,
167+
start_time_before=values.unset, start_time=values.unset,
168+
start_time_after=values.unset, end_time_before=values.unset,
169+
end_time=values.unset, end_time_after=values.unset, limit=None,
158170
page_size=None):
159171
"""
160172
Lists CallInstance records from the API as a list.
@@ -165,8 +177,12 @@ def list(self, to=values.unset, from_=values.unset,
165177
:param unicode from_: Phone number or Client identifier to filter `from` on
166178
:param unicode parent_call_sid: Parent Call Sid to filter on
167179
:param call.status status: Status to filter on
180+
:param datetime start_time_before: StartTime to filter on
168181
:param datetime start_time: StartTime to filter on
182+
:param datetime start_time_after: StartTime to filter on
183+
:param datetime end_time_before: EndTime to filter on
169184
:param datetime end_time: EndTime to filter on
185+
:param datetime end_time_after: EndTime to filter on
170186
:param int limit: Upper limit for the number of records to return. list() guarantees
171187
never to return more than limit. Default is no limit
172188
:param int page_size: Number of records to fetch per request, when not set will use
@@ -182,15 +198,21 @@ def list(self, to=values.unset, from_=values.unset,
182198
from_=from_,
183199
parent_call_sid=parent_call_sid,
184200
status=status,
201+
start_time_before=start_time_before,
185202
start_time=start_time,
203+
start_time_after=start_time_after,
204+
end_time_before=end_time_before,
186205
end_time=end_time,
206+
end_time_after=end_time_after,
187207
limit=limit,
188208
page_size=page_size,
189209
))
190210

191211
def page(self, to=values.unset, from_=values.unset,
192212
parent_call_sid=values.unset, status=values.unset,
193-
start_time=values.unset, end_time=values.unset,
213+
start_time_before=values.unset, start_time=values.unset,
214+
start_time_after=values.unset, end_time_before=values.unset,
215+
end_time=values.unset, end_time_after=values.unset,
194216
page_token=values.unset, page_number=values.unset,
195217
page_size=values.unset):
196218
"""
@@ -201,8 +223,12 @@ def page(self, to=values.unset, from_=values.unset,
201223
:param unicode from_: Phone number or Client identifier to filter `from` on
202224
:param unicode parent_call_sid: Parent Call Sid to filter on
203225
:param call.status status: Status to filter on
226+
:param datetime start_time_before: StartTime to filter on
204227
:param datetime start_time: StartTime to filter on
228+
:param datetime start_time_after: StartTime to filter on
229+
:param datetime end_time_before: EndTime to filter on
205230
:param datetime end_time: EndTime to filter on
231+
:param datetime end_time_after: EndTime to filter on
206232
:param str page_token: PageToken provided by the API
207233
:param int page_number: Page Number, this value is simply for client state
208234
:param int page_size: Number of records to return, defaults to 50
@@ -215,8 +241,12 @@ def page(self, to=values.unset, from_=values.unset,
215241
'From': from_,
216242
'ParentCallSid': parent_call_sid,
217243
'Status': status,
244+
'StartTime<': serialize.iso8601_datetime(start_time_before),
218245
'StartTime': serialize.iso8601_datetime(start_time),
246+
'StartTime>': serialize.iso8601_datetime(start_time_after),
247+
'EndTime<': serialize.iso8601_datetime(end_time_before),
219248
'EndTime': serialize.iso8601_datetime(end_time),
249+
'EndTime>': serialize.iso8601_datetime(end_time_after),
220250
'PageToken': page_token,
221251
'Page': page_number,
222252
'PageSize': page_size,

twilio/rest/api/v2010/account/message/__init__.py

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,9 @@ def create(self, to, status_callback=values.unset, application_sid=values.unset,
8181
account_sid=self._solution['account_sid'],
8282
)
8383

84-
def stream(self, to=values.unset, from_=values.unset, date_sent=values.unset,
85-
limit=None, page_size=None):
84+
def stream(self, to=values.unset, from_=values.unset,
85+
date_sent_before=values.unset, date_sent=values.unset,
86+
date_sent_after=values.unset, limit=None, page_size=None):
8687
"""
8788
Streams MessageInstance records from the API as a generator stream.
8889
This operation lazily loads records as efficiently as possible until the limit
@@ -91,7 +92,9 @@ def stream(self, to=values.unset, from_=values.unset, date_sent=values.unset,
9192
9293
:param unicode to: Filter by messages to this number
9394
:param unicode from_: Filter by from number
95+
:param datetime date_sent_before: Filter by date sent
9496
:param datetime date_sent: Filter by date sent
97+
:param datetime date_sent_after: Filter by date sent
9598
:param int limit: Upper limit for the number of records to return. stream()
9699
guarantees to never return more than limit. Default is no limit
97100
:param int page_size: Number of records to fetch per request, when not set will use
@@ -107,22 +110,27 @@ def stream(self, to=values.unset, from_=values.unset, date_sent=values.unset,
107110
page = self.page(
108111
to=to,
109112
from_=from_,
113+
date_sent_before=date_sent_before,
110114
date_sent=date_sent,
115+
date_sent_after=date_sent_after,
111116
page_size=limits['page_size'],
112117
)
113118

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

116-
def list(self, to=values.unset, from_=values.unset, date_sent=values.unset,
117-
limit=None, page_size=None):
121+
def list(self, to=values.unset, from_=values.unset,
122+
date_sent_before=values.unset, date_sent=values.unset,
123+
date_sent_after=values.unset, limit=None, page_size=None):
118124
"""
119125
Lists MessageInstance records from the API as a list.
120126
Unlike stream(), this operation is eager and will load `limit` records into
121127
memory before returning.
122128
123129
:param unicode to: Filter by messages to this number
124130
:param unicode from_: Filter by from number
131+
:param datetime date_sent_before: Filter by date sent
125132
:param datetime date_sent: Filter by date sent
133+
:param datetime date_sent_after: Filter by date sent
126134
:param int limit: Upper limit for the number of records to return. list() guarantees
127135
never to return more than limit. Default is no limit
128136
:param int page_size: Number of records to fetch per request, when not set will use
@@ -136,21 +144,26 @@ def list(self, to=values.unset, from_=values.unset, date_sent=values.unset,
136144
return list(self.stream(
137145
to=to,
138146
from_=from_,
147+
date_sent_before=date_sent_before,
139148
date_sent=date_sent,
149+
date_sent_after=date_sent_after,
140150
limit=limit,
141151
page_size=page_size,
142152
))
143153

144-
def page(self, to=values.unset, from_=values.unset, date_sent=values.unset,
145-
page_token=values.unset, page_number=values.unset,
146-
page_size=values.unset):
154+
def page(self, to=values.unset, from_=values.unset,
155+
date_sent_before=values.unset, date_sent=values.unset,
156+
date_sent_after=values.unset, page_token=values.unset,
157+
page_number=values.unset, page_size=values.unset):
147158
"""
148159
Retrieve a single page of MessageInstance records from the API.
149160
Request is executed immediately
150161
151162
:param unicode to: Filter by messages to this number
152163
:param unicode from_: Filter by from number
164+
:param datetime date_sent_before: Filter by date sent
153165
:param datetime date_sent: Filter by date sent
166+
:param datetime date_sent_after: Filter by date sent
154167
:param str page_token: PageToken provided by the API
155168
:param int page_number: Page Number, this value is simply for client state
156169
:param int page_size: Number of records to return, defaults to 50
@@ -161,7 +174,9 @@ def page(self, to=values.unset, from_=values.unset, date_sent=values.unset,
161174
params = values.of({
162175
'To': to,
163176
'From': from_,
177+
'DateSent<': serialize.iso8601_datetime(date_sent_before),
164178
'DateSent': serialize.iso8601_datetime(date_sent),
179+
'DateSent>': serialize.iso8601_datetime(date_sent_after),
165180
'PageToken': page_token,
166181
'Page': page_number,
167182
'PageSize': page_size,

twilio/rest/api/v2010/account/message/media.py

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,17 @@ def __init__(self, version, account_sid, message_sid):
3737
}
3838
self._uri = '/Accounts/{account_sid}/Messages/{message_sid}/Media.json'.format(**self._solution)
3939

40-
def stream(self, date_created=values.unset, limit=None, page_size=None):
40+
def stream(self, date_created_before=values.unset, date_created=values.unset,
41+
date_created_after=values.unset, limit=None, page_size=None):
4142
"""
4243
Streams MediaInstance records from the API as a generator stream.
4344
This operation lazily loads records as efficiently as possible until the limit
4445
is reached.
4546
The results are returned as a generator, so this operation is memory efficient.
4647
48+
:param datetime date_created_before: Filter by date created
4749
:param datetime date_created: Filter by date created
50+
:param datetime date_created_after: Filter by date created
4851
:param int limit: Upper limit for the number of records to return. stream()
4952
guarantees to never return more than limit. Default is no limit
5053
:param int page_size: Number of records to fetch per request, when not set will use
@@ -58,19 +61,24 @@ def stream(self, date_created=values.unset, limit=None, page_size=None):
5861
limits = self._version.read_limits(limit, page_size)
5962

6063
page = self.page(
64+
date_created_before=date_created_before,
6165
date_created=date_created,
66+
date_created_after=date_created_after,
6267
page_size=limits['page_size'],
6368
)
6469

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

67-
def list(self, date_created=values.unset, limit=None, page_size=None):
72+
def list(self, date_created_before=values.unset, date_created=values.unset,
73+
date_created_after=values.unset, limit=None, page_size=None):
6874
"""
6975
Lists MediaInstance records from the API as a list.
7076
Unlike stream(), this operation is eager and will load `limit` records into
7177
memory before returning.
7278
79+
:param datetime date_created_before: Filter by date created
7380
:param datetime date_created: Filter by date created
81+
:param datetime date_created_after: Filter by date created
7482
:param int limit: Upper limit for the number of records to return. list() guarantees
7583
never to return more than limit. Default is no limit
7684
:param int page_size: Number of records to fetch per request, when not set will use
@@ -82,18 +90,23 @@ def list(self, date_created=values.unset, limit=None, page_size=None):
8290
:rtype: generator
8391
"""
8492
return list(self.stream(
93+
date_created_before=date_created_before,
8594
date_created=date_created,
95+
date_created_after=date_created_after,
8696
limit=limit,
8797
page_size=page_size,
8898
))
8999

90-
def page(self, date_created=values.unset, page_token=values.unset,
100+
def page(self, date_created_before=values.unset, date_created=values.unset,
101+
date_created_after=values.unset, page_token=values.unset,
91102
page_number=values.unset, page_size=values.unset):
92103
"""
93104
Retrieve a single page of MediaInstance records from the API.
94105
Request is executed immediately
95106
107+
:param datetime date_created_before: Filter by date created
96108
:param datetime date_created: Filter by date created
109+
:param datetime date_created_after: Filter by date created
97110
:param str page_token: PageToken provided by the API
98111
:param int page_number: Page Number, this value is simply for client state
99112
:param int page_size: Number of records to return, defaults to 50
@@ -102,7 +115,9 @@ def page(self, date_created=values.unset, page_token=values.unset,
102115
:rtype: Page
103116
"""
104117
params = values.of({
118+
'DateCreated<': serialize.iso8601_datetime(date_created_before),
105119
'DateCreated': serialize.iso8601_datetime(date_created),
120+
'DateCreated>': serialize.iso8601_datetime(date_created_after),
106121
'PageToken': page_token,
107122
'Page': page_number,
108123
'PageSize': page_size,

twilio/rest/api/v2010/account/recording/__init__.py

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,18 @@ def __init__(self, version, account_sid):
3737
}
3838
self._uri = '/Accounts/{account_sid}/Recordings.json'.format(**self._solution)
3939

40-
def stream(self, date_created=values.unset, call_sid=values.unset, limit=None,
40+
def stream(self, date_created_before=values.unset, date_created=values.unset,
41+
date_created_after=values.unset, call_sid=values.unset, limit=None,
4142
page_size=None):
4243
"""
4344
Streams RecordingInstance records from the API as a generator stream.
4445
This operation lazily loads records as efficiently as possible until the limit
4546
is reached.
4647
The results are returned as a generator, so this operation is memory efficient.
4748
49+
:param datetime date_created_before: Filter by date created
4850
:param datetime date_created: Filter by date created
51+
:param datetime date_created_after: Filter by date created
4952
:param unicode call_sid: Filter by call_sid
5053
:param int limit: Upper limit for the number of records to return. stream()
5154
guarantees to never return more than limit. Default is no limit
@@ -60,21 +63,26 @@ def stream(self, date_created=values.unset, call_sid=values.unset, limit=None,
6063
limits = self._version.read_limits(limit, page_size)
6164

6265
page = self.page(
66+
date_created_before=date_created_before,
6367
date_created=date_created,
68+
date_created_after=date_created_after,
6469
call_sid=call_sid,
6570
page_size=limits['page_size'],
6671
)
6772

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

70-
def list(self, date_created=values.unset, call_sid=values.unset, limit=None,
75+
def list(self, date_created_before=values.unset, date_created=values.unset,
76+
date_created_after=values.unset, call_sid=values.unset, limit=None,
7177
page_size=None):
7278
"""
7379
Lists RecordingInstance records from the API as a list.
7480
Unlike stream(), this operation is eager and will load `limit` records into
7581
memory before returning.
7682
83+
:param datetime date_created_before: Filter by date created
7784
:param datetime date_created: Filter by date created
85+
:param datetime date_created_after: Filter by date created
7886
:param unicode call_sid: Filter by call_sid
7987
:param int limit: Upper limit for the number of records to return. list() guarantees
8088
never to return more than limit. Default is no limit
@@ -87,20 +95,25 @@ def list(self, date_created=values.unset, call_sid=values.unset, limit=None,
8795
:rtype: generator
8896
"""
8997
return list(self.stream(
98+
date_created_before=date_created_before,
9099
date_created=date_created,
100+
date_created_after=date_created_after,
91101
call_sid=call_sid,
92102
limit=limit,
93103
page_size=page_size,
94104
))
95105

96-
def page(self, date_created=values.unset, call_sid=values.unset,
106+
def page(self, date_created_before=values.unset, date_created=values.unset,
107+
date_created_after=values.unset, call_sid=values.unset,
97108
page_token=values.unset, page_number=values.unset,
98109
page_size=values.unset):
99110
"""
100111
Retrieve a single page of RecordingInstance records from the API.
101112
Request is executed immediately
102113
114+
:param datetime date_created_before: Filter by date created
103115
:param datetime date_created: Filter by date created
116+
:param datetime date_created_after: Filter by date created
104117
:param unicode call_sid: Filter by call_sid
105118
:param str page_token: PageToken provided by the API
106119
:param int page_number: Page Number, this value is simply for client state
@@ -110,7 +123,9 @@ def page(self, date_created=values.unset, call_sid=values.unset,
110123
:rtype: Page
111124
"""
112125
params = values.of({
126+
'DateCreated<': serialize.iso8601_datetime(date_created_before),
113127
'DateCreated': serialize.iso8601_datetime(date_created),
128+
'DateCreated>': serialize.iso8601_datetime(date_created_after),
114129
'CallSid': call_sid,
115130
'PageToken': page_token,
116131
'Page': page_number,

0 commit comments

Comments
 (0)
0