Better supression of api calls in persistant sessions
This commit is contained in:
+1
-1
@@ -258,7 +258,7 @@ def http_get(blink, url, stream=False, json=True, is_retry=False):
|
||||
:param json: Return json response? TRUE/False
|
||||
:param is_retry: Is this part of a re-auth attempt?
|
||||
"""
|
||||
_LOGGER.debug("Making GET request to %s", url)
|
||||
_LOGGER.error("Making GET request to %s", url)
|
||||
return blink.auth.query(
|
||||
url=url,
|
||||
headers=blink.auth.header,
|
||||
|
||||
+3
-2
@@ -200,10 +200,11 @@ class Auth:
|
||||
return False
|
||||
return True
|
||||
|
||||
def check_key_required(self):
|
||||
def check_key_required(self, blink):
|
||||
"""Check if 2FA key is required."""
|
||||
try:
|
||||
if self.login_response["client"]["verification_required"]:
|
||||
response = api.request_user(blink)
|
||||
if response["verification_required"]:
|
||||
return True
|
||||
except (KeyError, TypeError):
|
||||
pass
|
||||
|
||||
+16
-3
@@ -100,7 +100,7 @@ class Blink:
|
||||
self.available = False
|
||||
return False
|
||||
|
||||
self.key_required = self.auth.check_key_required()
|
||||
self.key_required = self.auth.check_key_required(self)
|
||||
if self.key_required:
|
||||
if self.auth.no_prompt:
|
||||
return True
|
||||
@@ -141,7 +141,12 @@ class Blink:
|
||||
def setup_camera_list(self):
|
||||
"""Create camera list for onboarded networks."""
|
||||
all_cameras = {}
|
||||
response = api.request_homescreen(self)
|
||||
try:
|
||||
response = self.auth.login_attributes["homescreen"]
|
||||
if response is None:
|
||||
raise KeyError
|
||||
except KeyError:
|
||||
response = api.request_homescreen(self)
|
||||
try:
|
||||
for camera in response["cameras"]:
|
||||
camera_network = str(camera["network_id"])
|
||||
@@ -150,6 +155,7 @@ class Blink:
|
||||
all_cameras[camera_network].append(
|
||||
{"name": camera["name"], "id": camera["id"]}
|
||||
)
|
||||
self.auth.data["homescreen"] = response
|
||||
return all_cameras
|
||||
except (KeyError, TypeError):
|
||||
_LOGGER.error("Unable to retrieve cameras from response %s", response)
|
||||
@@ -172,9 +178,16 @@ class Blink:
|
||||
|
||||
def setup_networks(self):
|
||||
"""Get network information."""
|
||||
response = api.request_networks(self)
|
||||
try:
|
||||
self.networks = self.auth.login_attributes["networks"]
|
||||
if self.networks is None:
|
||||
raise KeyError
|
||||
return
|
||||
except KeyError:
|
||||
response = api.request_networks(self)
|
||||
try:
|
||||
self.networks = response["summary"]
|
||||
self.auth.data["networks"] = self.networks
|
||||
except (KeyError, TypeError):
|
||||
raise BlinkSetupError
|
||||
|
||||
|
||||
+14
-3
@@ -85,7 +85,13 @@ class BlinkSyncModule:
|
||||
|
||||
def start(self):
|
||||
"""Initialize the system."""
|
||||
response = api.request_syncmodule(self.blink, self.network_id)
|
||||
try:
|
||||
response = self.blink.auth.login_attributes["sync"]
|
||||
if response is None:
|
||||
raise KeyError
|
||||
except KeyError:
|
||||
response = api.request_syncmodule(self.blink, self.network_id)
|
||||
self.blink.auth.data["sync"] = response
|
||||
try:
|
||||
self.summary = response["syncmodule"]
|
||||
self.network_id = self.summary["network_id"]
|
||||
@@ -107,7 +113,6 @@ class BlinkSyncModule:
|
||||
)
|
||||
|
||||
is_ok = self.get_network_info()
|
||||
self.check_new_videos()
|
||||
try:
|
||||
for camera_config in self.camera_list:
|
||||
if "name" not in camera_config:
|
||||
@@ -140,7 +145,13 @@ class BlinkSyncModule:
|
||||
|
||||
def get_camera_info(self, camera_id):
|
||||
"""Retrieve camera information."""
|
||||
response = api.request_camera_info(self.blink, self.network_id, camera_id)
|
||||
try:
|
||||
response = self.blink.auth.login_attributes["camera_info"]
|
||||
if response is None:
|
||||
raise KeyError
|
||||
except KeyError:
|
||||
response = api.request_camera_info(self.blink, self.network_id, camera_id)
|
||||
self.blink.auth.data["camera_info"] = response
|
||||
try:
|
||||
return response["camera"][0]
|
||||
except (TypeError, KeyError):
|
||||
|
||||
Reference in New Issue
Block a user