Stop allowing positional arguments for API.add_list_members
authorHarmon <Harmon758@gmail.com>
Sun, 14 Feb 2021 11:43:15 +0000 (05:43 -0600)
committerHarmon <Harmon758@gmail.com>
Sun, 14 Feb 2021 11:43:15 +0000 (05:43 -0600)
Also improve endpoint parameters order to match Twitter API documentation

tweepy/api.py

index fd2feddeadf762f0e42e9f0cdd7177af3b33d206..901dc2e781593f782b2d399c9c8481edf95e58ae 100644 (file)
@@ -1012,17 +1012,17 @@ class API:
         )
 
     @payload('list')
-    def add_list_members(self, screen_name=None, user_id=None, slug=None,
-                         list_id=None, owner_id=None, owner_screen_name=None,
-                         **kwargs):
+    def add_list_members(self, **kwargs):
         """ :reference: https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/post-lists-members-create_all
         """
+        if 'user_id' in kwargs:
+            kwargs['user_id'] = list_to_csv(kwargs['user_id'])
+        if 'screen_name' in kwargs:
+            kwargs['screen_name'] = list_to_csv(kwargs['screen_name'])
         return self.request(
-            'POST', 'lists/members/create_all', list_to_csv(screen_name),
-            list_to_csv(user_id), slug, list_id, owner_id, owner_screen_name,
-            endpoint_parameters=(
-                'screen_name', 'user_id', 'slug', 'list_id', 'owner_id',
-                'owner_screen_name'
+            'POST', 'lists/members/create_all', endpoint_parameters=(
+                'list_id', 'slug', 'user_id', 'screen_name',
+                'owner_screen_name', 'owner_id'
             ), **kwargs
         )