Skip to content

Commit bcd97ab

Browse files
committed
adjust DestroyListsMember() to accept a list of id's to implement /lists/members/destroy_all endpoint
1 parent 607cc7b commit bcd97ab

1 file changed

Lines changed: 17 additions & 5 deletions

File tree

twitter.py

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4194,8 +4194,8 @@ def GetMentions(self,
41944194
# done GET lists/members
41954195
# done POST lists/members/create
41964196
# done POST lists/members/create_all
4197-
# POST lists/members/destroy
4198-
# POST lists/members/destroy_all
4197+
# done POST lists/members/destroy
4198+
# done POST lists/members/destroy_all
41994199
# GET lists/members/show
42004200
# done POST lists/create
42014201
# done POST lists/destroy
@@ -4858,9 +4858,9 @@ def DestroyListsMember(self,
48584858
Returns:
48594859
A twitter.List instance representing the removed list.
48604860
'''
4861-
url = '%s/lists/members/destroy.json' % (self.base_url)
48624861
if not self.__auth:
48634862
raise TwitterError("The twitter.Api instance must be authenticated.")
4863+
isList = False
48644864
data = {}
48654865
if list_id:
48664866
try:
@@ -4882,11 +4882,23 @@ def DestroyListsMember(self,
48824882
raise TwitterError("Identify list by list_id or owner_screen_name/owner_id and slug")
48834883
if user_id:
48844884
try:
4885-
data['user_id'] = long(user_id)
4885+
if type(user_id) == types.ListType or type(user_id) == types.TupleType:
4886+
isList = True
4887+
data['user_id'] = '%s' % ','.join(user_id)
4888+
else:
4889+
data['user_id'] = long(user_id)
48864890
except ValueError:
48874891
raise TwitterError("user_id must be an integer")
48884892
elif screen_name:
4889-
data['screen_name'] = screen_name
4893+
if type(screen_name) == types.ListType or type(screen_name) == types.TupleType:
4894+
isList = True
4895+
data['screen_name'] = '%s' % ','.join(screen_name)
4896+
else:
4897+
data['screen_name'] = screen_name
4898+
if isList:
4899+
url = '%s/lists/members/destroy_all.json' % self.base_url
4900+
else:
4901+
url = '%s/lists/members/destroy.json' % (self.base_url)
48904902
json = self._RequestUrl(url, 'POST', data=data)
48914903
data = self._ParseAndCheckTwitter(json.content)
48924904
return List.NewFromJsonDict(data)

0 commit comments

Comments
 (0)