def test_reauthorization_attempt(self, mock_sess): """Check that we can reauthorize after first unsuccessful attempt.""" original_header = self.blink.get_auth_token() # pylint: disable=protected-access bad_header = {'Host': self.blink._host, 'TOKEN_AUTH': 'BADTOKEN'} # pylint: disable=protected-access self.blink._auth_header = bad_header self.assertEqual(self.blink.auth_header, bad_header) api.request_homescreen(self.blink) self.assertEqual(self.blink.auth_header, original_header)
def get_homescreen(self): """Get homecreen information.""" if self.no_owls: _LOGGER.debug("Skipping owl extraction.") self.homescreen = {} return self.homescreen = api.request_homescreen(self)
def start(self): """Initialize the system.""" response = api.request_syncmodule(self.blink, self.network_id) self.summary = response['syncmodule'] self.sync_id = self.summary['id'] self.network_id = self.summary['network_id'] self.serial = self.summary['serial'] self.status = self.summary['status'] self.events = self.get_events() self.homescreen = api.request_homescreen(self.blink) self.network_info = api.request_network_status(self.blink, self.network_id) camera_info = self.get_camera_info() for camera_config in camera_info: name = camera_config['name'] self.cameras[name] = BlinkCamera(self) self.videos = self.get_videos() for camera_config in camera_info: name = camera_config['name'] if name in self.cameras: self.cameras[name].update(camera_config, force_cache=True)
def refresh(self, force_cache=False): """Get all blink cameras and pulls their most recent status.""" self.events = self.get_events() self.videos = self.get_videos() self.homescreen = api.request_homescreen(self.blink) self.network_info = api.request_network_status(self.blink, self.network_id) camera_info = self.get_camera_info() for camera_config in camera_info: name = camera_config['name'] self.cameras[name].update(camera_config, force_cache=force_cache)
def get_cameras(self): """Retrieve a camera list for each onboarded network.""" response = api.request_homescreen(self) try: all_cameras = {} for camera in response["cameras"]: camera_network = str(camera["network_id"]) camera_name = camera["name"] camera_id = camera["id"] camera_info = {"name": camera_name, "id": camera_id} if camera_network not in all_cameras: all_cameras[camera_network] = [] all_cameras[camera_network].append(camera_info) return all_cameras except KeyError: _LOGGER.error("Initialization failue. Could not retrieve cameras.") return {}