def get_payload(self): """Return Payload.""" if self.currentpassword is None: raise PyVLXException("currentpassword is none") if self.newpassword is None: raise PyVLXException("newpassword is none") if len(self.currentpassword) > self.MAX_SIZE: raise PyVLXException("currentpassword is too long") if len(self.newpassword) > self.MAX_SIZE: raise PyVLXException("newpassword is too long") return string_to_bytes(self.currentpassword, self.MAX_SIZE) + string_to_bytes( self.newpassword, self.MAX_SIZE)
def get_payload(self): """Return Payload.""" payload = bytes() payload += bytes([self.node_id]) payload += bytes([self.order >> 8 & 255, self.order & 255]) payload += bytes([self.placement]) payload += bytes(string_to_bytes(self.name, 64)) payload += bytes([self.velocity.value]) payload += bytes( [self.node_type.value >> 8 & 255, self.node_type.value & 255]) payload += bytes([self.product_group]) payload += bytes([self.product_type]) payload += bytes([self.node_variation.value]) payload += bytes([self.power_mode]) payload += bytes([ self.build_number ]) # <-- hey @VELUX: your documentation is wrong here payload += bytes(self._serial_number) payload += bytes([self.state]) payload += bytes(self.current_position.raw) payload += bytes(self.target.raw) payload += bytes(self.current_position_fp1.raw) payload += bytes(self.current_position_fp2.raw) payload += bytes(self.current_position_fp3.raw) payload += bytes(self.current_position_fp4.raw) payload += bytes( [self.remaining_time >> 8 & 255, self.remaining_time & 255]) payload += struct.pack(">I", self.timestamp) payload += bytes(self.alias_array) return payload
def get_payload(self): """Return Payload.""" ret = bytes([len(self.scenes)]) for number, name in self.scenes: ret += bytes([number]) ret += string_to_bytes(name, 64) ret += bytes([self.remaining_scenes]) return ret
def get_payload(self): """Return Payload.""" payload = bytes([self.node_id]) payload += string_to_bytes(self.name, 64) payload += bytes([self.order >> 8 & 255, self.order & 255]) payload += bytes([self.placement]) payload += bytes([self.node_variation.value]) return payload
def test_encode_utf8(self): """Test encoding a string with special characters.""" self.assertEqual(string_to_bytes('Fenster Büro', 16), b'Fenster B\xc3\xbcro\x00\x00\x00')
def test_encoding_failure(self): """Test error while encoding.""" with self.assertRaises(PyVLXException): string_to_bytes('fnord', 4)
def test_encoding_without_padding(self): """Test encoding with exact match of size.""" self.assertEqual(string_to_bytes('fnord', 5), b'fnord')
def test_encoding(self): """Test simple encoding.""" self.assertEqual(string_to_bytes('fnord', 10), b'fnord' + bytes(5))
def test_encoding(self): """Test simple encoding.""" self.assertEqual(string_to_bytes("fnord", 10), b"fnord" + bytes(5))
def get_payload(self): """Return Payload.""" ret = bytes([self.node_id]) ret += string_to_bytes(self.name, 64) return ret