def _read(self): self.version = self._io.read_u4be() if not self.version == 2: raise kaitaistruct.ValidationNotEqualError( 2, self.version, self._io, u"/types/header/seq/0") self.width = self._io.read_u4be() if not self.width >= 1: raise kaitaistruct.ValidationLessThanError( 1, self.width, self._io, u"/types/header/seq/1") if not self.width <= 10000: raise kaitaistruct.ValidationGreaterThanError( 10000, self.width, self._io, u"/types/header/seq/1") self.height = self._io.read_u4be() if not self.height >= 1: raise kaitaistruct.ValidationLessThanError( 1, self.height, self._io, u"/types/header/seq/2") if not self.height <= 10000: raise kaitaistruct.ValidationGreaterThanError( 10000, self.height, self._io, u"/types/header/seq/2") self.bytes_per_pixel = KaitaiStream.resolve_enum( GimpBrush.ColorDepth, self._io.read_u4be()) self.magic = self._io.read_bytes(4) if not self.magic == b"\x47\x49\x4D\x50": raise kaitaistruct.ValidationNotEqualError( b"\x47\x49\x4D\x50", self.magic, self._io, u"/types/header/seq/4") self.spacing = self._io.read_u4be() self.brush_name = (KaitaiStream.bytes_terminate( self._io.read_bytes_full(), 0, False)).decode(u"UTF-8")
def _read(self): self.foo = self._io.read_bytes(2) if not self.foo >= b"\x48\x40": raise kaitaistruct.ValidationLessThanError(b"\x48\x40", self.foo, self._io, u"/seq/0") if not self.foo <= b"\x4F\x7E": raise kaitaistruct.ValidationGreaterThanError( b"\x4F\x7E", self.foo, self._io, u"/seq/0")
def _read(self): self.foo = self._io.read_f4le() if not self.foo >= 0.2: raise kaitaistruct.ValidationLessThanError(0.2, self.foo, self._io, u"/seq/0") if not self.foo <= 0.4: raise kaitaistruct.ValidationGreaterThanError( 0.4, self.foo, self._io, u"/seq/0")
def _read(self): self.foo = (self._io.read_bytes(2)).decode(u"ASCII") if not self.foo >= u"H@": raise kaitaistruct.ValidationLessThanError(u"H@", self.foo, self._io, u"/seq/0") if not self.foo <= u"O~": raise kaitaistruct.ValidationGreaterThanError( u"O~", self.foo, self._io, u"/seq/0")
def _read(self): self.major = self._io.read_u1() if not self.major >= 3: raise kaitaistruct.ValidationLessThanError( 3, self.major, self._io, u"/types/rpm_version/seq/0") if not self.major <= 4: raise kaitaistruct.ValidationGreaterThanError( 4, self.major, self._io, u"/types/rpm_version/seq/0") self.minor = self._io.read_u1()
def _read(self): self._debug['second_div_2']['start'] = self._io.pos() self.second_div_2 = self._io.read_bits_int_le(5) self._debug['second_div_2']['end'] = self._io.pos() if not self.second_div_2 <= 29: raise kaitaistruct.ValidationGreaterThanError( 29, self.second_div_2, self._io, u"/types/time/seq/0") self._debug['minute']['start'] = self._io.pos() self.minute = self._io.read_bits_int_le(6) self._debug['minute']['end'] = self._io.pos() if not self.minute <= 59: raise kaitaistruct.ValidationGreaterThanError( 59, self.minute, self._io, u"/types/time/seq/1") self._debug['hour']['start'] = self._io.pos() self.hour = self._io.read_bits_int_le(5) self._debug['hour']['end'] = self._io.pos() if not self.hour <= 23: raise kaitaistruct.ValidationGreaterThanError( 23, self.hour, self._io, u"/types/time/seq/2")
def _read(self): self.year_after_2000 = self._io.read_bits_int_be(7) self.month = self._io.read_bits_int_be(4) if not self.month >= 1: raise kaitaistruct.ValidationLessThanError( 1, self.month, self._io, u"/types/basic_info/types/date/seq/1") if not self.month <= 12: raise kaitaistruct.ValidationGreaterThanError( 12, self.month, self._io, u"/types/basic_info/types/date/seq/1") self.day = self._io.read_bits_int_be(5) if not self.day >= 1: raise kaitaistruct.ValidationLessThanError( 1, self.day, self._io, u"/types/basic_info/types/date/seq/2") if not self.day <= 31: raise kaitaistruct.ValidationGreaterThanError( 31, self.day, self._io, u"/types/basic_info/types/date/seq/2")
def _read(self): self.sequence_number = self._io.read_u4be() self.width = self._io.read_u4be() if not self.width >= 1: raise kaitaistruct.ValidationLessThanError(1, self.width, self._io, u"/types/frame_control_chunk/seq/1") if not self.width <= self._root.ihdr.width: raise kaitaistruct.ValidationGreaterThanError(self._root.ihdr.width, self.width, self._io, u"/types/frame_control_chunk/seq/1") self.height = self._io.read_u4be() if not self.height >= 1: raise kaitaistruct.ValidationLessThanError(1, self.height, self._io, u"/types/frame_control_chunk/seq/2") if not self.height <= self._root.ihdr.height: raise kaitaistruct.ValidationGreaterThanError(self._root.ihdr.height, self.height, self._io, u"/types/frame_control_chunk/seq/2") self.x_offset = self._io.read_u4be() if not self.x_offset <= (self._root.ihdr.width - self.width): raise kaitaistruct.ValidationGreaterThanError((self._root.ihdr.width - self.width), self.x_offset, self._io, u"/types/frame_control_chunk/seq/3") self.y_offset = self._io.read_u4be() if not self.y_offset <= (self._root.ihdr.height - self.height): raise kaitaistruct.ValidationGreaterThanError((self._root.ihdr.height - self.height), self.y_offset, self._io, u"/types/frame_control_chunk/seq/4") self.delay_num = self._io.read_u2be() self.delay_den = self._io.read_u2be() self.dispose_op = KaitaiStream.resolve_enum(Png.DisposeOpValues, self._io.read_u1()) self.blend_op = KaitaiStream.resolve_enum(Png.BlendOpValues, self._io.read_u1())
def _read(self): self.magic = self._io.read_bytes(4) if not self.magic == b"\xD0\x0D\xFE\xED": raise kaitaistruct.ValidationNotEqualError(b"\xD0\x0D\xFE\xED", self.magic, self._io, u"/seq/0") self.total_size = self._io.read_u4be() self.ofs_structure_block = self._io.read_u4be() self.ofs_strings_block = self._io.read_u4be() self.ofs_memory_reservation_block = self._io.read_u4be() self.version = self._io.read_u4be() self.min_compatible_version = self._io.read_u4be() if not self.min_compatible_version <= self.version: raise kaitaistruct.ValidationGreaterThanError(self.version, self.min_compatible_version, self._io, u"/seq/6") self.boot_cpuid_phys = self._io.read_u4be() self.len_strings_block = self._io.read_u4be() self.len_structure_block = self._io.read_u4be()
def _read(self): self._debug['day']['start'] = self._io.pos() self.day = self._io.read_bits_int_le(5) self._debug['day']['end'] = self._io.pos() if not self.day >= 1: raise kaitaistruct.ValidationLessThanError( 1, self.day, self._io, u"/types/date/seq/0") self._debug['month']['start'] = self._io.pos() self.month = self._io.read_bits_int_le(4) self._debug['month']['end'] = self._io.pos() if not self.month >= 1: raise kaitaistruct.ValidationLessThanError( 1, self.month, self._io, u"/types/date/seq/1") if not self.month <= 12: raise kaitaistruct.ValidationGreaterThanError( 12, self.month, self._io, u"/types/date/seq/1") self._debug['year_minus_1980']['start'] = self._io.pos() self.year_minus_1980 = self._io.read_bits_int_le(7) self._debug['year_minus_1980']['end'] = self._io.pos()
def _read(self): self.id = self._io.read_u2le() self.resource_idx = self._io.read_u2le() if not self.resource_idx <= (self._parent.num_resources - 1): raise kaitaistruct.ValidationGreaterThanError((self._parent.num_resources - 1), self.resource_idx, self._io, u"/types/alias/seq/1")
def _read(self): self.foo = self._io.read_u1() if not self.foo <= 12: raise kaitaistruct.ValidationGreaterThanError(12, self.foo, self._io, u"/seq/0")
def _read(self): self.foo = self._io.read_u1() if not self.foo >= 5: raise kaitaistruct.ValidationLessThanError(5, self.foo, self._io, u"/seq/0") if not self.foo <= 10: raise kaitaistruct.ValidationGreaterThanError(10, self.foo, self._io, u"/seq/0")