def thread_function(self):
        """Thread function."""

        self.__subscribed = True
        url = SUBSCRIBE_ENDPOINT + "?token=" + self._session_token

        data = self._session.query(url, method='GET', raw=True, stream=True)
        if not data or not data.ok:
            _LOGGER.debug("Did not receive a valid response. Aborting..")
            return None

        self.__sseclient = sseclient.SSEClient(data)

        try:
            for event in (self.__sseclient).events():
                if not self.__subscribed:
                    break
                data = json.loads(event.data)
                if data.get('status') == "connected":
                    _LOGGER.debug("Successfully subscribed this base station")
                elif data.get('action'):
                    action = data.get('action')
                    resource = data.get('resource')
                    if action == "logout":
                        _LOGGER.debug("Logged out by some other entity")
                        self.__subscribed = False
                        break
                    elif action == "is" and "subscriptions/" not in resource:
                        self.__events.append(data)
                        self.__event_handle.set()

        except TypeError as error:
            _LOGGER.debug("Got unexpected error: %s", error)
            return None

        return True
def thread_function ( self ) : self . __subscribed = True url = SUBSCRIBE_ENDPOINT + "?token=" + self . _session_token data = self . _session . query ( url , method = 'GET' , raw = True , stream = True ) if not data or not data . ok : _LOGGER . debug ( "Did not receive a valid response. Aborting.." ) return None self . __sseclient = sseclient . SSEClient ( data ) try : for event in ( self . __sseclient ) . events ( ) : if not self . __subscribed : break data = json . loads ( event . data ) if data . get ( 'status' ) == "connected" : _LOGGER . debug ( "Successfully subscribed this base station" ) elif data . get ( 'action' ) : action = data . get ( 'action' ) resource = data . get ( 'resource' ) if action == "logout" : _LOGGER . debug ( "Logged out by some other entity" ) self . __subscribed = False break elif action == "is" and "subscriptions/" not in resource : self . __events . append ( data ) self . __event_handle . set ( ) except TypeError as error : _LOGGER . debug ( "Got unexpected error: %s" , error ) return None return True
Thread function.