From 04b4c7a6ce6543a69e42189099be9927bd141bec Mon Sep 17 00:00:00 2001 From: Adrian Sampson Date: Mon, 8 Jan 2018 13:09:04 -0800 Subject: [PATCH] Special error for expired sessions --- wideq.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/wideq.py b/wideq.py index 07292d2..178fb74 100644 --- a/wideq.py +++ b/wideq.py @@ -20,6 +20,13 @@ class APIError(Exception): self.message = message +class NotLoggedInError(APIError): + """The session is not valid or expired.""" + + def __init__(self): + pass + + def lgedm_post(url, data=None, access_token=None, session_id=None): """Make an HTTP request in the format used by the API servers. @@ -47,7 +54,12 @@ def lgedm_post(url, data=None, access_token=None, session_id=None): # Check for API errors. if 'returnCd' in out: - raise APIError(int(out['returnCd']), out['returnMsg']) + code = out['returnCd'] + message = out['returnMsg'] + if code == "0102": + raise NotLoggedInError() + else: + raise APIError(code, message) return out