1
0
mirror of https://github.com/eternnoir/pyTelegramBotAPI.git synced 2023-08-10 21:12:57 +03:00

Merge pull request #935 from mrpes/patch-4

Exceptions classes redesign followup
This commit is contained in:
Badiboy 2020-08-04 18:25:31 +03:00 committed by GitHub
commit dc07cacc7f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -104,7 +104,10 @@ def _make_request(token, method_name, method='get', params=None, files=None):
timeout=(connect_timeout, read_timeout), proxies=proxy) timeout=(connect_timeout, read_timeout), proxies=proxy)
logger.debug("The server returned: '{0}'".format(result.text.encode('utf8'))) logger.debug("The server returned: '{0}'".format(result.text.encode('utf8')))
return _check_result(method_name, result)['result']
json_result = _check_result(method_name, result)
if json_result:
return json_result['result']
def _check_result(method_name, result): def _check_result(method_name, result):
@ -120,14 +123,14 @@ def _check_result(method_name, result):
:param result: The returned result of the method request :param result: The returned result of the method request
:return: The result parsed to a JSON dictionary. :return: The result parsed to a JSON dictionary.
""" """
if result.status_code != 200:
raise ApiHTTPException(method_name, result)
try: try:
result_json = result.json() result_json = result.json()
except: except:
if result.status_code != 200:
raise ApiHTTPException(method_name, result)
else:
raise ApiInvalidJSONException(method_name, result) raise ApiInvalidJSONException(method_name, result)
else:
if not result_json['ok']: if not result_json['ok']:
raise ApiTelegramException(method_name, result, result_json) raise ApiTelegramException(method_name, result, result_json)
@ -1290,4 +1293,5 @@ class ApiTelegramException(ApiException):
function_name, function_name,
result) result)
self.result_json = result_json self.result_json = result_json
self.error_code = result_json['error_code']