From a1e4d8b660473554a9a0b8ba647ce9f773cacec2 Mon Sep 17 00:00:00 2001 From: Aaron Hill Date: Sun, 6 Nov 2016 08:52:09 -0500 Subject: [PATCH] Properly wrap errors from Requests --- tweepy/binder.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tweepy/binder.py b/tweepy/binder.py index e517066..e026f4b 100644 --- a/tweepy/binder.py +++ b/tweepy/binder.py @@ -15,6 +15,8 @@ import logging from tweepy.error import TweepError, RateLimitError, is_rate_limit_error_message from tweepy.utils import convert_to_utf8_str from tweepy.models import Model +import six +import sys re_path_template = re.compile('{\w+}') @@ -170,6 +172,7 @@ def bind_api(**config): # time.sleep(sleep_time + 5) # sleep for few extra sec # Apply authentication + auth = None if self.api.auth: auth = self.api.auth.apply_auth() @@ -186,8 +189,10 @@ def bind_api(**config): auth=auth, proxies=self.api.proxy) except Exception as e: - raise TweepError('Failed to send request: %s' % e) + six.reraise(TweepError, TweepError('Failed to send request: %s' % e), sys.exc_info()[2]) + rem_calls = resp.headers.get('x-rate-limit-remaining') + if rem_calls is not None: self._remaining_calls = int(rem_calls) elif isinstance(self._remaining_calls, int): -- 2.25.1