def test_bytes2str(): testString = "This is my special string to test the encoding" assert bytes2str(testString.encode("utf-8")) == testString assert bytes2str(testString.encode("utf-8-sig")) == testString assert bytes2str(testString.encode("utf-16")) == testString assert bytes2str(testString.encode("utf-32")) == testString assert bytes2str(testString.encode("utf-16-be")) == testString assert bytes2str(testString.encode("utf-32-be")) == testString assert bytes2str(testString.encode("utf-16-le")) == testString assert bytes2str(testString.encode("utf-32-le")) == testString assert bytes2str(testString) == testString with pytest.raises(TypeError): assert bytes2str(44) == testString
def test_bytes2str(): testString = 'This is my special string to test the encoding' assert bytes2str(testString.encode('utf-8')) == testString assert bytes2str(testString.encode('utf-8-sig')) == testString assert bytes2str(testString.encode('utf-16')) == testString assert bytes2str(testString.encode('utf-32')) == testString assert bytes2str(testString.encode('utf-16-be')) == testString assert bytes2str(testString.encode('utf-32-be')) == testString assert bytes2str(testString.encode('utf-16-le')) == testString assert bytes2str(testString.encode('utf-32-le')) == testString assert bytes2str(testString) == testString with pytest.raises(TypeError): assert bytes2str(44) == testString
def test_bytes2str(): testString = 'This is my special string to test the encoding' assert bytes2str(testString.encode('utf-8')) == testString assert bytes2str(testString.encode('utf-8-sig')) == testString assert bytes2str(testString.encode('utf-16')) == testString assert bytes2str(testString.encode('utf-32')) == testString assert bytes2str(testString.encode('utf-16-be')) == testString assert bytes2str(testString.encode('utf-32-be')) == testString assert bytes2str(testString.encode('utf-16-le')) == testString assert bytes2str(testString.encode('utf-32-le')) == testString
def _ws_on_message(self, ws, message): #json.loads doesn't support bytes as parameter before python 3.6 js = json.loads(bytes2str(message)) # LOGGER.debug(js) eventList = [] try: for event in js["events"].values(): pushEventType = event["pushEventType"] LOGGER.debug(pushEventType) obj = None if pushEventType == EVENT_GROUP_CHANGED: data = event["group"] obj = self.search_group_by_id(data["id"]) if type(obj) is MetaGroup: obj.from_json(data, self.devices, self.groups) else: obj.from_json(data, self.devices) obj.fire_update_event(data, event_type=pushEventType, obj=obj) elif pushEventType == EVENT_HOME_CHANGED: data = event["home"] obj = self obj.from_json(data) obj.fire_update_event(data, event_type=pushEventType, obj=obj) elif pushEventType == EVENT_CLIENT_ADDED: data = event["client"] obj = Client(self._connection) obj.from_json(data) self.clients.append(obj) elif pushEventType == EVENT_CLIENT_CHANGED: data = event["client"] obj = self.search_client_by_id(data["id"]) obj.from_json(data) elif pushEventType == EVENT_CLIENT_REMOVED: obj = self.search_client_by_id(event["id"]) self.clients.remove(obj) elif pushEventType == EVENT_DEVICE_ADDED: data = event["device"] obj = self._parse_device(data) self.devices.append(obj) elif pushEventType == EVENT_DEVICE_CHANGED: data = event["device"] obj = self.search_device_by_id(data["id"]) if obj is None: # no DEVICE_ADDED Event? obj = self._parse_device(data) self.devices.append(obj) else: obj.from_json(data) obj.fire_update_event(data, event_type=pushEventType, obj=obj) elif pushEventType == EVENT_DEVICE_REMOVED: obj = self.search_device_by_id(event["id"]) self.devices.remove(obj) elif pushEventType == EVENT_GROUP_REMOVED: obj = self.search_group_by_id(event["id"]) self.groups.remove(obj) elif pushEventType == EVENT_GROUP_ADDED: group = event["group"] obj = self._parse_group(group) self.groups.append(obj) elif pushEventType == EVENT_SECURITY_JOURNAL_CHANGED: pass # data is just none so nothing to do here # TODO: implement INCLUSION_REQUESTED, NONE else: LOGGER.warning("Uknown EventType '%s' Data: %s", pushEventType, event) eventList.append({"eventType": pushEventType, "data": obj}) except Exception as err: LOGGER.exception(err) self.onEvent.fire(eventList)
def _ws_on_error(self, ws, message): LOGGER.error("Websocket error: %s", bytes2str(message))