Merge 4d4aa302d4 into 979da12c16
This commit is contained in:
commit
4989205ab2
1 changed files with 20 additions and 0 deletions
|
|
@ -93,6 +93,18 @@ class APILimit(TwythonError):
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return repr(self.msg)
|
return repr(self.msg)
|
||||||
|
|
||||||
|
class RateLimitError(TwythonError):
|
||||||
|
"""
|
||||||
|
Raised when you've hit a rate limit. retry_wait_seconds is the number of seconds to
|
||||||
|
wait before trying again.
|
||||||
|
"""
|
||||||
|
def __init__(self, msg, retry_wait_seconds, error_code):
|
||||||
|
self.retry_wait_seconds = int(retry_wait_seconds)
|
||||||
|
TwythonError.__init__(self, msg, error_code)
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return repr(self.msg)
|
||||||
|
|
||||||
|
|
||||||
class AuthError(TwythonError):
|
class AuthError(TwythonError):
|
||||||
"""
|
"""
|
||||||
|
|
@ -308,6 +320,14 @@ class Twython(object):
|
||||||
searchURL = Twython.constructApiURL("http://search.twitter.com/search.json", kwargs)
|
searchURL = Twython.constructApiURL("http://search.twitter.com/search.json", kwargs)
|
||||||
try:
|
try:
|
||||||
resp, content = self.client.request(searchURL, "GET", headers = self.headers)
|
resp, content = self.client.request(searchURL, "GET", headers = self.headers)
|
||||||
|
|
||||||
|
if int(resp.status) == 420:
|
||||||
|
retry_wait_seconds = resp['retry-after']
|
||||||
|
raise RateLimitError("getSearchTimeline() is being rate limited. Retry after %s seconds." %
|
||||||
|
retry_wait_seconds,
|
||||||
|
retry_wait_seconds,
|
||||||
|
resp.status)
|
||||||
|
|
||||||
return simplejson.loads(content.decode('utf-8'))
|
return simplejson.loads(content.decode('utf-8'))
|
||||||
except HTTPError, e:
|
except HTTPError, e:
|
||||||
raise TwythonError("getSearchTimeline() failed with a %s error code." % `e.code`, e.code)
|
raise TwythonError("getSearchTimeline() failed with a %s error code." % `e.code`, e.code)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue