Skip to content
This repository was archived by the owner on Aug 7, 2024. It is now read-only.

Commit a75c69b

Browse files
committed
Merge pull request #165 from greedo/issue131
traps request errors and raises an standard exception
2 parents 41840bc + 2d52e83 commit a75c69b

File tree

1 file changed

+44
-25
lines changed

1 file changed

+44
-25
lines changed

twitter/api.py

+44-25
Original file line numberDiff line numberDiff line change
@@ -3368,26 +3368,35 @@ def _RequestUrl(self, url, verb, data=None):
33683368
'''
33693369
if verb == 'POST':
33703370
if data.has_key('media'):
3371-
return requests.post(
3372-
url,
3373-
files=data,
3374-
auth=self.__auth,
3375-
timeout=self._requests_timeout
3376-
)
3371+
try:
3372+
return requests.post(
3373+
url,
3374+
files=data,
3375+
auth=self.__auth,
3376+
timeout=self._requests_timeout
3377+
)
3378+
except requests.RequestException as e:
3379+
raise TwitterError(str(e))
33773380
else:
3378-
return requests.post(
3381+
try:
3382+
return requests.post(
3383+
url,
3384+
data=data,
3385+
auth=self.__auth,
3386+
timeout=self._requests_timeout
3387+
)
3388+
except requests.RequestException as e:
3389+
raise TwitterError(str(e))
3390+
if verb == 'GET':
3391+
url = self._BuildUrl(url, extra_params=data)
3392+
try:
3393+
return requests.get(
33793394
url,
3380-
data=data,
33813395
auth=self.__auth,
33823396
timeout=self._requests_timeout
33833397
)
3384-
if verb == 'GET':
3385-
url = self._BuildUrl(url, extra_params=data)
3386-
return requests.get(
3387-
url,
3388-
auth=self.__auth,
3389-
timeout=self._requests_timeout
3390-
)
3398+
except requests.RequestException as e:
3399+
raise TwitterError(str(e))
33913400
return 0 # if not a POST or GET request
33923401

33933402
def _RequestStream(self, url, verb, data=None):
@@ -3403,17 +3412,27 @@ def _RequestStream(self, url, verb, data=None):
34033412
'''
34043413

34053414
if verb == 'POST':
3406-
return requests.post(url, data=data, stream=True,
3407-
auth=self.__auth)
3408-
3409-
if verb == 'POST': return requests.post(url, data=data, stream=True,
3410-
auth=self.__auth,
3411-
timeout=self._requests_timeout
3412-
)
3415+
try:
3416+
return requests.post(url, data=data, stream=True,
3417+
auth=self.__auth)
3418+
except requests.RequestException as e:
3419+
raise TwitterError(str(e))
3420+
3421+
if verb == 'POST':
3422+
try:
3423+
return requests.post(url, data=data, stream=True,
3424+
auth=self.__auth,
3425+
timeout=self._requests_timeout
3426+
)
3427+
except requests.RequestException as e:
3428+
raise TwitterError(str(e))
34133429

34143430
if verb == 'GET':
34153431
url = self._BuildUrl(url, extra_params=data)
3416-
return requests.get(url, stream=True, auth=self.__auth,
3417-
timeout=self._requests_timeout
3418-
)
3432+
try:
3433+
return requests.get(url, stream=True, auth=self.__auth,
3434+
timeout=self._requests_timeout
3435+
)
3436+
except requests.RequestException as e:
3437+
raise TwitterError(str(e))
34193438
return 0 # if not a POST or GET request

0 commit comments

Comments
 (0)