From 82676d668b13f848b4703723b09e6b401094edfb Mon Sep 17 00:00:00 2001 From: Manuel Schraner Date: Sun, 14 Jun 2015 18:23:13 +0200 Subject: [PATCH] fixes broken exception handling on http status code != ok. Introduces a new exception ApiHttpError for status code handling. --- betfair/exceptions.py | 9 +++++++++ betfair/utils.py | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/betfair/exceptions.py b/betfair/exceptions.py index ed26848..eae4d2e 100644 --- a/betfair/exceptions.py +++ b/betfair/exceptions.py @@ -37,3 +37,12 @@ def __init__(self, response, data): self.message = 'UNKNOWN' self.details = None super(ApiError, self).__init__(self.message) + + +class ApiHttpError(BetfairError): + + def __init__(self, response): + self.response = response + self.status_code = response.status_code + self.message = "error http return code: %s" % self.status_code + super(ApiHttpError, self).__init__(self.message) diff --git a/betfair/utils.py b/betfair/utils.py index 68feeab..805155f 100644 --- a/betfair/utils.py +++ b/betfair/utils.py @@ -53,7 +53,7 @@ def check_status_code(response, codes=None): else lambda resp: resp.status_code in codes ) if not checker(response): - raise exceptions.ApiError(response) + raise exceptions.ApiHttpError(response) def result_or_error(response):