def test_from_bytearray(self): self.assert_length_value(8, b'\x00', BitString.from_bytearray(b'\x00')) self.assert_length_value(16, b'ab', BitString.from_bytearray(b'ab')) self.assert_length_value( 16, b'ab', BitString.from_bytearray(bytearray(b'ab')))
def dispatch_table(big_endian=True, encoding=None, errors=STRICT): ''' Convert types appropriately. ''' # pylint: disable-msg=W0108 # consistency return {int: lambda n: BitString.from_int(n, ordered=big_endian), str: lambda s: BitString.from_str(s, encoding, errors), bytes: lambda b: BitString.from_bytearray(b), bytearray: lambda b: BitString.from_bytearray(b), BitString: lambda x: x}
def dispatch_table(big_endian=True, encoding=None, errors=STRICT): ''' Convert types appropriately. ''' # pylint: disable-msg=W0108 # consistency return { int: lambda n: BitString.from_int(n, ordered=big_endian), str: lambda s: BitString.from_str(s, encoding, errors), bytes: lambda b: BitString.from_bytearray(b), bytearray: lambda b: BitString.from_bytearray(b), BitString: lambda x: x }
def ByteArray(value): ''' Match or read an array of bytes (to read a value, give the number of bytes). ''' if isinstance(value, int): return _ByteArray(value) else: return _Constant(BitString.from_bytearray(value))
def test_from_bytearray(self): self.assert_length_value(8, b'\x00', BitString.from_bytearray(b'\x00')) self.assert_length_value(16, b'ab', BitString.from_bytearray(b'ab')) self.assert_length_value(16, b'ab', BitString.from_bytearray(bytearray(b'ab')))