8000 Passing kwargs no works for resource creation · Twilio-api/twilio-python@a9d3fdf · GitHub
[go: up one dir, main page]

Skip to content

Commit a9d3fdf

Browse files
committed
Passing kwargs no works for resource creation
1 parent a72abad commit a9d3fdf

File tree

1 file changed

+47
-115
lines changed

1 file changed

+47
-115
lines changed

twilio/rest/resources.py

Lines changed: 47 additions & 115 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ def transform_params(p):
3333

3434

3535
def format_name(word):
36-
if "_" in word:
36+
if word.lower() == word:
3737
return u''.join([letter.title() for letter in word.split('_')])
3838
else:
3939
return word
@@ -667,7 +667,7 @@ def create(self, to, from_, url, status_method=None, **kwargs):
667667
kwargs["from"] = from_
668668
kwargs["to"] = to
669669
kwargs["url"] = url
670-
kwargs["StatusCallbackMethod"] = status_method
670+
kwargs["status_callback_method"] = status_method
671671
return self.create_instance(transform_params(kwargs))
672672

673673
def update(self, sid, **kwargs):
@@ -853,7 +853,7 @@ def purchase(self, status_callback_url=None, **kwargs):
853853
:data:`False` on failure
854854
"""
855855
kwargs["StatusCallback"] = kwargs.get("status_callback") or status_callback_url
856-
params = trasnform_params(kwargs)
856+
params = transform_params(kwargs)
857857

858858
if "PhoneNumber" not in params and "AreaCode" not in params:
859859
raise TypeError("phone_number or area_code is required")
@@ -879,13 +879,15 @@ def transfer(self, sid, account_sid):
879879
"""
880880
return self.update(sid, account_sid=account_sid)
881881

882-
def update(self, sid, application_sid=None):
882+
def update(self, sid, **kwargs):
883883
"""
884884
Update this phone number instance
885885
"""
886-
for specific_sid in ["voice_application_sid", "sms_application_sid"]:
887-
if specific_sid not in kwargs and "application_sid" in kwargs:
888-
kwargs[specific_sid] = kwargs["application_sid"]
886+
if "application_sid" in kwargs:
887+
for sid_type in ["voice_application_sid", "sms_application_sid"]:
888+
if sid_type not in kwargs:
889+
kwargs[sid_type] = kwargs["application_sid"]
890+
del kwargs["application_sid"]
889891
return self.update_instance(sid, transform_params(kwargs))
890892

891893

@@ -956,8 +958,7 @@ def create(self, from_=None, **kwargs):
956958
return self.create_instance(transform_params(kwargs))
957959

958960
@normalize_dates
959-
def list(self, to=None, from_=None, before=None, after=None,
960-
date_sent=None, **kwargs):
961+
def list(self, from_=None, before=None, after=None, date_sent=None, **kwargs):
961962
"""
962963
Returns a page of :class:`SMSMessage` resources as a list. For
963964
paging informtion see :class:`ListResource`.
@@ -971,14 +972,11 @@ def list(self, to=None, from_=None, before=None, after=None,
971972
:param date after: Only list recordings logged after this datetime
972973
:param date before: Only list recordings logged before this datetime
973974
"""
974-
params = transform_params({
975-
"To": to,
976-
"From": from_,
977-
"DateSent<": before,
978-
"DateSent>": after,
979-
"DateSent": parse_date(date_sent),
980-
})
981-
return self.get_instances(params=params, **kwargs)
975+
kwargs["From"] = from_
976+
kwargs["DateSent<"] = before
977+
kwargs["DateSent>"] = after
978+
kwargs["DateSent"] = parse_date(date_sent)
979+
return self.get_instances(params=transform_params(kwargs))
982980

983981

984982
class ShortCode(InstanceResource):
@@ -993,7 +991,7 @@ class ShortCodes(ListResource):
993991
key = "short_codes"
994992
instance = ShortCode
995993

996-
def list(self, short_code=None, friendly_name=None, **kwargs):
994+
def list(self, **kwargs):
997995
"""
998996
Returns a page of :class:`ShortCode` resources as a list. For
999997
paging information see :class:`ListResource`.
@@ -1004,14 +1002,10 @@ def list(self, short_code=None, friendly_name=None, **kwargs):
10041002
:param friendly_name: Only show the ShortCode resources with friendly
10051003
names that exactly match this name.
10061004
"""
1007-
params = transform_params({
1008-
"ShortCode": short_code,
1009-
"FriendlyName": friendly_name,
1010-
})
1011-
return self.get_instances(params=params, **kwargs)
1005+
return self.get_instances(params=transform_params(kwargs))
10121006

1013-
def update(self, sid, friendly_name=None, api_version=None, url=None,
1014-
method=None, fallback_url=None, fallback_method=None):
1007+
def update(self, sid, url=None, method=None,
1008+
fallback_url=None, fallback_method=None):
10151009
"""
10161010
Update a specific :class:`ShortCode`, by specifying the sid.
10171011
@@ -1027,15 +1021,13 @@ def update(self, sid, friendly_name=None, api_version=None, url=None,
10271021
:param fallback_method: The HTTP method that should be used to request
10281022
the fallback_url.
10291023
"""
1030-
params = transform_params({
1031-
"FriendlyName": friendly_name,
1032-
"ApiVersion": api_version,
1033-
"SmsUrl": url,
1034-
"SmsMethod": method,
1035-
"SmsFallbackUrl": fallback_url,
1036-
"SmsFallbackMethod": fallback_method,
1037-
})
1038-
return self.update_instance(sid, params)
1024+
kwargs["sms_url"] = kwargs.get("sms_url") or url
1025+
kwargs["sms_method"] = kwargs.get("sms_method") or method
1026+
kwargs["sms_fallback_url"] = \
1027+
kwargs.get("sms_fallback_url") or fallback_url
1028+
kwargs["sms_fallback_method"] = \
1029+
kwargs.get("sms_fallback_method") or fallback_method
1030+
return self.update_instance(sid, transform_params(kwargs))
10391031

10401032

10411033
class Participant(InstanceResource):
@@ -1066,18 +1058,15 @@ class Participants(ListResource):
10661058
name = "Participants"
10671059
instance = Participant
10681060

1069-
def list(self, muted=None, **kwargs):
1061+
def list(self, **kwargs):
10701062
"""
10711063
Returns a list of :class:`Participant` resources in the given
10721064
conference
10731065
10741066
:param conference_sid: Conference this participant is part of
10751067
:param boolean muted: If True, only show participants who are muted
10761068
"""
1077-
params = transform_params({
1078-
"Muted": muted,
1079-
})
1080-
return self.get_instances(params=params, **kwargs)
1069+
return self.get_instances(params=transform_params(kwargs))
10811070

10821071
def mute(self, call_sid):
10831072
"""
@@ -1103,15 +1092,12 @@ def delete(self, call_sid):
11031092
"""
11041093
return self._delete(call_sid)
11051094

1106-
def update(self, sid, muted=None):
1095+
def update(self, sid, **kwargs):
11071096
"""
11081097
:param sid: Paticipant identifier
11091098
:param boolean muted: If true, mute this participant
11101099
"""
1111-
params = transform_params({
1112-
"Muted": muted
1113-
})
1114-
return self.update_instance(sid, params)
1100+
return self.update_instance(sid, transform_params(kwargs))
11151101

11161102

11171103
class Conference(InstanceResource):
@@ -1127,9 +1113,8 @@ class Conferences(ListResource):
11271113
instance = Conference
11281114

11291115
@normalize_dates
1130-
def list(self, status=None, friendly_name=None, updated_before=None,
1131-
updated_after=None, created_after=None, created_before=None,
1132-
updated=None, created=None, **kwargs):
1116+
def list(self, updated_before=None, updated_after=None, created_after=None,
1117+
created_before=None, updated=None, created=None, **kwargs):
11331118
"""
11341119
Return a list of :class:`Conference` resources
11351120
@@ -1140,17 +1125,13 @@ def list(self, status=None, friendly_name=None, updated_before=None,
11401125
:param date created_after: List conferences created after this date
11411126
:param date created_before: List conferences created before this date
11421127
"""
1143-
params = transform_params({
1144-
"Status": status,
1145-
"FriendlyName": friendly_name,
1146-
"DateUpdated<": updated_before,
1147-
"DateUpdated>": updated_after,
1148-
"DateUpdated": parse_date(updated),
1149-
"DateCreated<": created_before,
1150-
"DateCreated>": created_after,
1151-
"DateCreated": parse_date(created),
1152-
})
1153-
return self.get_instances(params=params, **kwargs)
1128+
kwargs["DateUpdated"] = parse_date(kwargs.get("date_updated") or updated)
< F42D code>1129+
kwargs["DateCreated"] = parse_date(kwargs.get("date_created") or created)
1130+
kwargs["DateUpdated<"] = updated_before
1131+
kwargs["DateUpdated>"] = updated_after
1132+
kwargs["DateCreated<"] = created_before
1133+
kwargs["DateCreated>"] = created_after
1134+
return self.get_instances(params=transform_params(kwargs))
11541135

11551136

11561137
class Application(InstanceResource):
@@ -1186,12 +1167,7 @@ def list(self, friendly_name=None, **kwargs):
11861167
})
11871168
return self.get_instances(params=params, **kwargs)
11881169

1189-
def create(self, friendly_name=None, api_version=None, voice_url=None,
1190-
voice_method=None, voice_fallback_url=None,
1191-
voice_fallback_method=None, status_callback=None,
1192-
status_callback_method=None, voice_caller_id_lookup=None,
1193-
sms_url=None, sms_method=None, sms_fallback_url=None,
1194-
sms_fallback_method=None, sms_status_callback=None):
1170+
def create(self, **kwargs):
11951171
"""
11961172
Create an :class:`Application` with any of these optional parameters.
11971173
@@ -1235,52 +1211,15 @@ def create(self, friendly_name=None, api_version=None, voice_url=None,
12351211
this application's Sid as the
12361212
ApplicationSid on an outgoing SMS request.
12371213
"""
1238-
params = transform_params({
1239-
"FriendlyName": friendly_name,
1240-
"ApiVersion": api_version,
1241-
"VoiceUrl": voice_url,
1242-
"VoiceMethod": voice_method,
1243-
"VoiceFallbackUrl": voice_fallback_url,
1244-
"VoiceFallbackMethod": voice_fallback_method,
1245-
"StatusCallback": status_callback,
1246-
"StatusCallbackMethod": status_callback_method,
1247-
"VoiceCallerIdLookup": voice_caller_id_lookup,
1248-
"SmsUrl": sms_url,
1249-
"SmsMethod": sms_method,
1250-
"SmsFallbackUrl": sms_fallback_url,
1251-
"SmsFallbackMethod": sms_fallback_method,
1252-
"SmsStatusCallback": sms_status_callback,
1253-
})
1254-
return self.create_instance(params)
1214+
return self.create_instance(transform_params(kwargs))
12551215

1256-
def update(self, sid, friendly_name=None, api_version=None, voice_url=None,
1257-
voice_method=None, voice_fallback_url=None,
1258-
voice_fallback_method=None, status_callback=None,
1259-
status_callback_method=None, voice_caller_id_lookup=None,
1260-
sms_url=None, sms_method=None, sms_fallback_url=None,
1261-
sms_fallback_method=None, sms_status_callback=None):
1216+
def update(self, sid, **kwargs):
12621217
"""
12631218
Update an :class:`Application` with the given parameters.
12641219
12651220
All the parameters are describe above in :meth:`create`
12661221
"""
1267-
params = transform_params({
1268-
"FriendlyName": friendly_name,
1269-
"ApiVersion": api_version,
1270-
"VoiceUrl": voice_url,
1271-
"VoiceMethod": voice_method,
1272-
"VoiceFallbackUrl": voice_fallback_url,
1273-
"VoiceFallbackMethod": voice_fallback_method,
1274-
"StatusCallback": status_callback,
1275-
"StatusCallbackMethod": status_callback_method,
1276-
"VoiceCallerIdLookup": voice_caller_id_lookup,
1277-
"SmsUrl": sms_url,
1278-
"SmsMethod": sms_method,
1279-
"SmsFallbackUrl": sms_fallback_url,
1280-
"SmsFallbackMethod": sms_fallback_method,
1281-
"SmsStatusCallback": sms_status_callback,
1282-
})
1283-
return self.update_instance(sid, params)
1222+
return self.update_instance(sid, transform_params(kwargs))
12841223

12851224
def delete(self, sid):
12861225
"""
@@ -1360,7 +1299,7 @@ def list(self, friendly_name=None, status=None, **kwargs):
13601299
})
13611300
return self.get_instances(params=params, **kwargs)
13621301

1363-
def update(self, sid, friendly_name=None, status=None):
1302+
def update(self, sid, **kwargs):
13641303
"""
13651304
:param sid: Account identifier
13661305
:param friendly_name: Update the description of this account.
@@ -1370,11 +1309,7 @@ def update(self, sid, friendly_name=None, status=None):
13701309
:data:`SUSPENDED` to temporarily suspend it, or :data:`ACTIVE`
13711310
to reactivate it.
13721311
"""
1373-
params = transform_params({
1374-
"FriendlyName": friendly_name,
1375-
"Status": status
1376-
})
1377-
return self.update_instance(sid, params)
1312+
return self.update_instance(sid, transform_params(kwargs))
13781313

13791314
def close(self, sid):
13801315
"""
@@ -1394,13 +1329,10 @@ def activate(self, sid):
13941329
"""
13951330
return self.update(sid, status=Account.ACTIVE)
13961331

1397-
def create(self, friendly_name=None):
1332+
def create(self, **kwargs):
13981333
"""
13991334
Returns a newly created sub account resource.
14001335
14011336
:param friendly_name: Update the description of this account.
14021337
"""
1403-
params = transform_params({
1404-
"FriendlyName": friendly_name,
1405-
})
1406-
return self.create_instance(params)
1338+
return self.create_instance(transform_params(kwargs))

0 commit comments

Comments
 (0)
0