From fbeefe325634a989d7289cab8ed0a75e4b8c20a0 Mon Sep 17 00:00:00 2001 From: Harmon Date: Wed, 28 Nov 2018 02:14:17 -0600 Subject: [PATCH] Merge branch 'master' into twitter-devs-references-update --- CONTRIBUTORS | 1 + docs/cursor_tutorial.rst | 2 +- tweepy/__init__.py | 2 +- tweepy/api.py | 10 ++++++---- tweepy/streaming.py | 4 +--- 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index edaee86..77342ad 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -35,3 +35,4 @@ Kohei YOSHIDA Mark Smith (@judy2k) Steven Skoczen (@skoczen) Samuel (@obskyr) +Patrick A. Levell (@palevell) diff --git a/docs/cursor_tutorial.rst b/docs/cursor_tutorial.rst index aeeea9f..4d2741c 100644 --- a/docs/cursor_tutorial.rst +++ b/docs/cursor_tutorial.rst @@ -19,7 +19,7 @@ require less code Tweepy has the Cursor object. Old way vs Cursor way --------------------- -First let's demonstrate iterating the statues in the authenticated +First let's demonstrate iterating the statuses in the authenticated user's timeline. Here is how we would do it the "old way" before Cursor object was introduced:: diff --git a/tweepy/__init__.py b/tweepy/__init__.py index 2071547..0ab171f 100644 --- a/tweepy/__init__.py +++ b/tweepy/__init__.py @@ -5,7 +5,7 @@ """ Tweepy Twitter API library """ -__version__ = '3.6.0' +__version__ = '3.7.0' __author__ = 'Joshua Roesslein' __license__ = 'MIT' diff --git a/tweepy/api.py b/tweepy/api.py index 2d0feb0..baf0d54 100644 --- a/tweepy/api.py +++ b/tweepy/api.py @@ -323,8 +323,8 @@ class API(object): allowed_param=['id', 'url', 'maxwidth', 'hide_media', 'omit_script', 'align', 'related', 'lang'] ) - def lookup_users(self, user_ids=None, screen_names=None, include_entities=None): - """ Perform bulk look up of users from user ID or screenname """ + def lookup_users(self, user_ids=None, screen_names=None, include_entities=None, tweet_mode=None): + """ Perform bulk look up of users from user ID or screen_name """ post_data = {} if include_entities is not None: include_entities = 'true' if include_entities else 'false' @@ -333,20 +333,22 @@ class API(object): post_data['user_id'] = list_to_csv(user_ids) if screen_names: post_data['screen_name'] = list_to_csv(screen_names) + if tweet_mode: + post_data['tweet_mode'] = tweet_mode return self._lookup_users(post_data=post_data) @property def _lookup_users(self): """ :reference: https://developer.twitter.com/en/docs/accounts-and-users/follow-search-get-users/api-reference/get-users-lookup - allowed_param='user_id', 'screen_name', 'include_entities' + allowed_param='user_id', 'screen_name', 'include_entities', 'tweet_mode' """ return bind_api( api=self, path='/users/lookup.json', payload_type='user', payload_list=True, method='POST', - allowed_param=['user_id', 'screen_name', 'include_entities'] + allowed_param=['user_id', 'screen_name', 'include_entities', 'tweet_mode'] ) def me(self): diff --git a/tweepy/streaming.py b/tweepy/streaming.py index 7896d58..9f09a97 100644 --- a/tweepy/streaming.py +++ b/tweepy/streaming.py @@ -189,8 +189,6 @@ class ReadBuffer(object): class Stream(object): - host = 'stream.twitter.com' - def __init__(self, auth, listener, **options): self.auth = auth self.listener = listener @@ -223,6 +221,7 @@ class Stream(object): # Example: proxies = {'http': 'http://localhost:1080', 'https': 'http://localhost:1080'} self.proxies = options.get("proxies") + self.host = options.get('host', 'stream.twitter.com') def new_session(self): self.session = requests.Session() @@ -451,7 +450,6 @@ class Stream(object): if filter_level: self.body['filter_level'] = filter_level.encode(encoding) self.session.params = {'delimited': 'length'} - self.host = 'stream.twitter.com' self._start(is_async) def sitestream(self, follow, stall_warnings=False, -- 2.25.1