Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8d7641c765 | ||
|
|
69e10a22c4 |
+3
-2
@@ -200,10 +200,11 @@ class Auth:
|
|||||||
return False
|
return False
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def check_key_required(self):
|
def check_key_required(self, blink):
|
||||||
"""Check if 2FA key is required."""
|
"""Check if 2FA key is required."""
|
||||||
try:
|
try:
|
||||||
if self.login_response["client"]["verification_required"]:
|
response = api.request_user(blink)
|
||||||
|
if response["verification_required"]:
|
||||||
return True
|
return True
|
||||||
except (KeyError, TypeError):
|
except (KeyError, TypeError):
|
||||||
pass
|
pass
|
||||||
|
|||||||
+16
-3
@@ -100,7 +100,7 @@ class Blink:
|
|||||||
self.available = False
|
self.available = False
|
||||||
return 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.key_required:
|
||||||
if self.auth.no_prompt:
|
if self.auth.no_prompt:
|
||||||
return True
|
return True
|
||||||
@@ -141,7 +141,12 @@ class Blink:
|
|||||||
def setup_camera_list(self):
|
def setup_camera_list(self):
|
||||||
"""Create camera list for onboarded networks."""
|
"""Create camera list for onboarded networks."""
|
||||||
all_cameras = {}
|
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:
|
try:
|
||||||
for camera in response["cameras"]:
|
for camera in response["cameras"]:
|
||||||
camera_network = str(camera["network_id"])
|
camera_network = str(camera["network_id"])
|
||||||
@@ -150,6 +155,7 @@ class Blink:
|
|||||||
all_cameras[camera_network].append(
|
all_cameras[camera_network].append(
|
||||||
{"name": camera["name"], "id": camera["id"]}
|
{"name": camera["name"], "id": camera["id"]}
|
||||||
)
|
)
|
||||||
|
self.auth.data["homescreen"] = response
|
||||||
return all_cameras
|
return all_cameras
|
||||||
except (KeyError, TypeError):
|
except (KeyError, TypeError):
|
||||||
_LOGGER.error("Unable to retrieve cameras from response %s", response)
|
_LOGGER.error("Unable to retrieve cameras from response %s", response)
|
||||||
@@ -172,9 +178,16 @@ class Blink:
|
|||||||
|
|
||||||
def setup_networks(self):
|
def setup_networks(self):
|
||||||
"""Get network information."""
|
"""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:
|
try:
|
||||||
self.networks = response["summary"]
|
self.networks = response["summary"]
|
||||||
|
self.auth.data["networks"] = self.networks
|
||||||
except (KeyError, TypeError):
|
except (KeyError, TypeError):
|
||||||
raise BlinkSetupError
|
raise BlinkSetupError
|
||||||
|
|
||||||
|
|||||||
+14
-3
@@ -85,7 +85,13 @@ class BlinkSyncModule:
|
|||||||
|
|
||||||
def start(self):
|
def start(self):
|
||||||
"""Initialize the system."""
|
"""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:
|
try:
|
||||||
self.summary = response["syncmodule"]
|
self.summary = response["syncmodule"]
|
||||||
self.network_id = self.summary["network_id"]
|
self.network_id = self.summary["network_id"]
|
||||||
@@ -107,7 +113,6 @@ class BlinkSyncModule:
|
|||||||
)
|
)
|
||||||
|
|
||||||
is_ok = self.get_network_info()
|
is_ok = self.get_network_info()
|
||||||
self.check_new_videos()
|
|
||||||
try:
|
try:
|
||||||
for camera_config in self.camera_list:
|
for camera_config in self.camera_list:
|
||||||
if "name" not in camera_config:
|
if "name" not in camera_config:
|
||||||
@@ -140,7 +145,13 @@ class BlinkSyncModule:
|
|||||||
|
|
||||||
def get_camera_info(self, camera_id):
|
def get_camera_info(self, camera_id):
|
||||||
"""Retrieve camera information."""
|
"""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:
|
try:
|
||||||
return response["camera"][0]
|
return response["camera"][0]
|
||||||
except (TypeError, KeyError):
|
except (TypeError, KeyError):
|
||||||
|
|||||||
Reference in New Issue
Block a user