From 23fcf5d950589fa3880fee79a1b9d28bb44abf8f Mon Sep 17 00:00:00 2001 From: Jonathan Harris <jonathan@marginal.org.uk> Date: Tue, 25 Oct 2016 10:49:34 +0100 Subject: [PATCH] Correctly report when Companion server is down --- companion.py | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/companion.py b/companion.py index b2e55500..fd25961e 100644 --- a/companion.py +++ b/companion.py @@ -208,11 +208,7 @@ class Session: if __debug__: print_exc() raise ServerError() - if r.status_code != requests.codes.ok: - self.dump(r) - r.raise_for_status() - - if 'server error' in r.text: + if r.status_code != requests.codes.ok or 'server error' in r.text: self.dump(r) raise ServerError() elif r.url == URL_LOGIN: # would have redirected away if success @@ -229,8 +225,7 @@ class Session: if not code: raise VerificationRequired() r = self.session.post(URL_CONFIRM, data = {'code' : code}, timeout=timeout) - r.raise_for_status() - if r.url == URL_CONFIRM: # would have redirected away if success + if r.status_code != requests.codes.ok or r.url == URL_CONFIRM: # would have redirected away if success raise VerificationRequired() self.save() # Save cookies now for use by command-line app self.login() @@ -248,14 +243,15 @@ class Session: if __debug__: print_exc() raise ServerError() - if r.status_code != requests.codes.ok: - self.dump(r) if r.status_code == requests.codes.forbidden or r.url == URL_LOGIN: # Start again - maybe our session cookie expired? self.state = Session.STATE_INIT return self.query() - r.raise_for_status() + if r.status_code != requests.codes.ok: + self.dump(r) + raise ServerError() + try: data = r.json() except: