예제 #1
0
 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)
예제 #2
0
파일: blinkpy.py 프로젝트: s0ca/blinkpy
 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)
예제 #3
0
    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)
예제 #4
0
 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)
예제 #5
0
    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 {}