Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def process_compact_bytes(self):
compact_byte = self.get_next_bytes(1)
try:
byte_mod = compact_byte[0] % 4
except IndexError:
raise InvalidScaleTypeValueException("Invalid byte for Compact")
if byte_mod == 0:
self.compact_length = 1
elif byte_mod == 1:
self.compact_length = 2
elif byte_mod == 2:
self.compact_length = 4
else:
self.compact_length = int(5 + (compact_byte[0] - 3) / 4)
if self.compact_length == 1:
self.compact_bytes = compact_byte
elif self.compact_length in [2, 4]:
self.compact_bytes = compact_byte + self.get_next_bytes(self.compact_length - 1)
else:
self.compact_bytes = self.get_next_bytes(self.compact_length - 1)
def get_next_bool(self):
data = self.get_next_bytes(1)
if data not in [b'\x00', b'\x01']:
raise InvalidScaleTypeValueException('Invalid value for datatype "bool"')
return data == b'\x01'