Handle default parser in execute function rather than bind_api
authorHarmon <Harmon758@gmail.com>
Tue, 2 Feb 2021 22:00:40 +0000 (16:00 -0600)
committerHarmon <Harmon758@gmail.com>
Tue, 2 Feb 2021 22:00:40 +0000 (16:00 -0600)
tweepy/binder.py

index 2c4ed8b9d11ed5977494d16df442643917203352..e57c4d54f6cd4ed96ea8e97743f11ee3d8242d87 100644 (file)
@@ -77,6 +77,9 @@ def execute(api, method, path, *args, allowed_param=[], params=None,
 
     session = requests.Session()
 
+    if parser is None:
+        parser = api.parser
+
     try:
         # Continue attempting request until successful
         # or maximum number of retries is reached.
@@ -151,9 +154,10 @@ def execute(api, method, path, *args, allowed_param=[], params=None,
 
         # Parse the response payload
         return_cursors = return_cursors or 'cursor' in params or 'next' in params
-        result = parser.parse(resp.text, api=api, payload_list=payload_list,
-                            payload_type=payload_type,
-                            return_cursors=return_cursors)
+        result = parser.parse(
+            resp.text, api=api, payload_list=payload_list,
+            payload_type=payload_type, return_cursors=return_cursors
+        )
 
         # Store result into cache if one is available.
         if use_cache and api.cache and method == 'GET' and result:
@@ -168,9 +172,7 @@ def bind_api(*args, **kwargs):
     api = kwargs.pop('api')
     http_method = kwargs.pop('method', 'GET')
     path = kwargs.pop('path')
-    parser = kwargs.pop('parser', api.parser)
-
-    return execute(api, http_method, path, *args, parser=parser, **kwargs)
+    return execute(api, http_method, path, *args, **kwargs)
 
 
 def pagination(mode):