Handle map_ parameter for API.statuses_lookup
authorHarmon <Harmon758@gmail.com>
Sat, 4 May 2019 04:19:27 +0000 (23:19 -0500)
committerHarmon <Harmon758@gmail.com>
Sat, 4 May 2019 04:19:27 +0000 (23:19 -0500)
Fixes #598

docs/api.rst
tweepy/models.py

index df2bfe01a7995efd8b534960723ac20e2443a2a0..3148836a604f5c7975d4dbcdf50d96658c15bc05 100644 (file)
@@ -55,7 +55,7 @@ Timeline methods
    :param id_: A list of Tweet IDs to lookup, up to 100
    :param include_entities: A boolean indicating whether or not to include `entities <https://developer.twitter.com/en/docs/tweets/data-dictionary/overview/entities-object>`_ in the returned tweets. Defaults to False.
    :param trim_user: A boolean indicating if user IDs should be provided, instead of full user information. Defaults to False.
-   :param map_: A boolean indicating whether or not to include tweets that cannot be shown, but with a value of None. Defaults to False.
+   :param map_: A boolean indicating whether or not to include tweets that cannot be shown. Defaults to False.
    :rtype: list of :class:`Status` objects
 
 
index 21449d0374e606525e89f1107f0925a287942dd9..49a36009e9bdf5192258a7d97f01618547472f0f 100644 (file)
@@ -60,6 +60,16 @@ class Model(object):
             a result set of model instances.
         """
         results = ResultSet()
+
+        # Handle map parameter for statuses/lookup
+        if isinstance(json_list, dict) and 'id' in json_list:
+            for _id, obj in json_list['id'].items():
+                if obj:
+                    results.append(cls.parse(api, obj))
+                else:
+                    results.append(cls.parse(api, {'id': int(_id)}))
+            return results
+
         for obj in json_list:
             if obj:
                 results.append(cls.parse(api, obj))