Merge pull request #288 from fronzbot/use-new-endpoints

Update camera retrieval method (no more homescreen use)
This commit is contained in:
Kevin Fronczak
2020-06-08 12:30:59 -04:00
committed by GitHub
3 changed files with 21 additions and 15 deletions
+4 -3
View File
@@ -141,12 +141,13 @@ class Blink:
def setup_camera_list(self):
"""Create camera list for onboarded networks."""
all_cameras = {}
response = api.request_homescreen(self)
response = api.request_camera_usage(self)
try:
for camera in response["cameras"]:
camera_network = str(camera["network_id"])
for network in response["networks"]:
camera_network = str(network["network_id"])
if camera_network not in all_cameras:
all_cameras[camera_network] = []
for camera in network["cameras"]:
all_cameras[camera_network].append(
{"name": camera["name"], "id": camera["id"]}
)
+1 -1
View File
@@ -149,7 +149,7 @@ class BlinkSyncModule:
def get_network_info(self):
"""Retrieve network status."""
self.network_info = api.request_network_status(self.blink, self.network_id)
self.network_info = api.request_network_update(self.blink, self.network_id)
try:
if self.network_info["network"]["sync_module_error"]:
raise KeyError
+12 -7
View File
@@ -81,14 +81,19 @@ class TestBlinkSetup(unittest.TestCase):
self.assertEqual(self.blink.sync["TEST"], 1234)
self.assertEqual(self.blink.sync["tEsT"], 1234)
@mock.patch("blinkpy.api.request_homescreen")
def test_setup_cameras(self, mock_home):
@mock.patch("blinkpy.api.request_camera_usage")
def test_setup_cameras(self, mock_req):
"""Check retrieval of camera information."""
mock_home.return_value = {
mock_req.return_value = {
"networks": [
{
"network_id": 1234,
"cameras": [
{"name": "foo", "network_id": 1234, "id": 5678},
{"name": "bar", "network_id": 1234, "id": 5679},
{"name": "test", "network_id": 4321, "id": 0000},
{"id": 5678, "name": "foo"},
{"id": 5679, "name": "bar"},
],
},
{"network_id": 4321, "cameras": [{"id": 0000, "name": "test"}]},
]
}
result = self.blink.setup_camera_list()
@@ -100,7 +105,7 @@ class TestBlinkSetup(unittest.TestCase):
},
)
@mock.patch("blinkpy.api.request_homescreen")
@mock.patch("blinkpy.api.request_camera_usage")
def test_setup_cameras_failure(self, mock_home):
"""Check that on failure we raise a setup error."""
mock_home.return_value = {}