Skip to content

Commit d1e57cb

Browse files
committed
added failcounter
1 parent 1d55af6 commit d1e57cb

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

lupupy/__init__.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ def __init__(self, username, password, ip_address, get_devices=False):
3131
self.model = self._get_model(ip_address)
3232
self._mode = None
3333
self._devices = None
34+
self._fail_counter = 0
3435

3536
if self.model == 1:
3637
resp = self.session.get(self.api_url + CONST.DEVICES_API_XT1)
@@ -172,11 +173,13 @@ def get_panel(
172173
): # we are trimming the json from Lupusec heavily, since its bullcrap
173174
response = self._request_get("panelCondGet")
174175
if response.status_code != 200:
175-
if response.status_code == 401 and self.model == 2:
176+
self._fail_counter += 1
177+
if response.status_code == 401 and self.model == 2 and self._fail_counter < 5:
176178
response = self._request_get("tokenGet")
177179
self.headers = {"X-Token": json.loads(response.text)["message"]}
180+
self.get_panel()
178181
else:
179-
raise Exception("Unable to get panel " + str(response.status_code))
182+
raise Exception("Unable to get panel " + str(response.status_code) + " Failed tries: " + self._fail_counter)
180183
panel = self.clean_json(response.text)["updates"]
181184
panel["mode"] = panel[self.api_mode]
182185
panel.pop(self.api_mode)

0 commit comments

Comments
 (0)