Exemplo n.º 1
0
 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")
Exemplo n.º 2
0
 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")
Exemplo n.º 4
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")
Exemplo n.º 5
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()
Exemplo n.º 6
0
 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")
Exemplo n.º 7
0
 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")
Exemplo n.º 8
0
 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())
Exemplo n.º 9
0
 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()
Exemplo n.º 10
0
 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()
Exemplo n.º 11
0
 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")
Exemplo n.º 13
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")