Skip to content

Commit 8391731

Browse files
committed
Convert section title comments to code-folding regions
Also, make sure it matches the structure of https://github.com/kaitai-io/kaitai_struct_java_runtime/blob/0.10/src/main/java/io/kaitai/struct/KaitaiStream.java as closely as possible.
1 parent 4a6e228 commit 8391731

File tree

1 file changed

+53
-49
lines changed

1 file changed

+53
-49
lines changed

kaitaistruct.py

Lines changed: 53 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,7 @@ def __exit__(self, *args, **kwargs):
7070
def close(self):
7171
self._io.close()
7272

73-
# ========================================================================
74-
# Stream positioning
75-
# ========================================================================
73+
# region Stream positioning
7674

7775
def is_eof(self):
7876
if self.bits_left > 0:
@@ -105,9 +103,9 @@ def size(self):
105103
io.seek(cur_pos)
106104
return full_size
107105

108-
# ========================================================================
109-
# Integer numbers
110-
# ========================================================================
106+
# endregion
107+
108+
# region Structs for numeric types
111109

112110
packer_s1 = struct.Struct('b')
113111
packer_s2be = struct.Struct('>h')
@@ -125,16 +123,21 @@ def size(self):
125123
packer_u4le = struct.Struct('<I')
126124
packer_u8le = struct.Struct('<Q')
127125

128-
# ------------------------------------------------------------------------
129-
# Signed
130-
# ------------------------------------------------------------------------
126+
packer_f4be = struct.Struct('>f')
127+
packer_f8be = struct.Struct('>d')
128+
packer_f4le = struct.Struct('<f')
129+
packer_f8le = struct.Struct('<d')
130+
131+
# endregion
132+
133+
# region Integer numbers
134+
135+
# region Signed
131136

132137
def read_s1(self):
133138
return KaitaiStream.packer_s1.unpack(self.read_bytes(1))[0]
134139

135-
# ........................................................................
136-
# Big-endian
137-
# ........................................................................
140+
# region Big-endian
138141

139142
def read_s2be(self):
140143
return KaitaiStream.packer_s2be.unpack(self.read_bytes(2))[0]
@@ -145,9 +148,9 @@ def read_s4be(self):
145148
def read_s8be(self):
146149
return KaitaiStream.packer_s8be.unpack(self.read_bytes(8))[0]
147150

148-
# ........................................................................
149-
# Little-endian
150-
# ........................................................................
151+
# endregion
152+
153+
# region Little-endian
151154

152155
def read_s2le(self):
153156
return KaitaiStream.packer_s2le.unpack(self.read_bytes(2))[0]
@@ -158,16 +161,16 @@ def read_s4le(self):
158161
def read_s8le(self):
159162
return KaitaiStream.packer_s8le.unpack(self.read_bytes(8))[0]
160163

161-
# ------------------------------------------------------------------------
162-
# Unsigned
163-
# ------------------------------------------------------------------------
164+
# endregion
165+
166+
# endregion
167+
168+
# region Unsigned
164169

165170
def read_u1(self):
166171
return KaitaiStream.packer_u1.unpack(self.read_bytes(1))[0]
167172

168-
# ........................................................................
169-
# Big-endian
170-
# ........................................................................
173+
# region Big-endian
171174

172175
def read_u2be(self):
173176
return KaitaiStream.packer_u2be.unpack(self.read_bytes(2))[0]
@@ -178,9 +181,9 @@ def read_u4be(self):
178181
def read_u8be(self):
179182
return KaitaiStream.packer_u8be.unpack(self.read_bytes(8))[0]
180183

181-
# ........................................................................
182-
# Little-endian
183-
# ........................................................................
184+
# endregion
185+
186+
# region Little-endian
184187

185188
def read_u2le(self):
186189
return KaitaiStream.packer_u2le.unpack(self.read_bytes(2))[0]
@@ -191,38 +194,37 @@ def read_u4le(self):
191194
def read_u8le(self):
192195
return KaitaiStream.packer_u8le.unpack(self.read_bytes(8))[0]
193196

194-
# ========================================================================
195-
# Floating point numbers
196-
# ========================================================================
197+
# endregion
197198

198-
packer_f4be = struct.Struct('>f')
199-
packer_f8be = struct.Struct('>d')
200-
packer_f4le = struct.Struct('<f')
201-
packer_f8le = struct.Struct('<d')
199+
# endregion
202200

203-
# ........................................................................
204-
# Big-endian
205-
# ........................................................................
201+
# endregion
202+
203+
# region Floating point numbers
204+
205+
# region Big-endian
206206

207207
def read_f4be(self):
208208
return KaitaiStream.packer_f4be.unpack(self.read_bytes(4))[0]
209209

210210
def read_f8be(self):
211211
return KaitaiStream.packer_f8be.unpack(self.read_bytes(8))[0]
212212

213-
# ........................................................................
214-
# Little-endian
215-
# ........................................................................
213+
# endregion
214+
215+
# region Little-endian
216216

217217
def read_f4le(self):
218218
return KaitaiStream.packer_f4le.unpack(self.read_bytes(4))[0]
219219

220220
def read_f8le(self):
221221
return KaitaiStream.packer_f8le.unpack(self.read_bytes(8))[0]
222222

223-
# ========================================================================
224-
# Unaligned bit values
225-
# ========================================================================
223+
# endregion
224+
225+
# endregion
226+
227+
# region Unaligned bit values
226228

227229
def align_to_byte(self):
228230
self.bits_left = 0
@@ -289,9 +291,9 @@ def read_bits_int_le(self, n):
289291
res &= mask
290292
return res
291293

292-
# ========================================================================
293-
# Byte arrays
294-
# ========================================================================
294+
# endregion
295+
296+
# region Byte arrays
295297

296298
def read_bytes(self, n):
297299
if n < 0:
@@ -376,9 +378,9 @@ def bytes_terminate(data, term, include_term):
376378
new_data += term_byte
377379
return new_data
378380

379-
# ========================================================================
380-
# Byte array processing
381-
# ========================================================================
381+
# endregion
382+
383+
# region Byte array processing
382384

383385
@staticmethod
384386
def process_xor_one(data, key):
@@ -409,9 +411,9 @@ def process_rotate_left(data, amount, group_size):
409411
r[i] = (byte << amount) & 0xff | (byte >> anti_amount)
410412
return bytes(r)
411413

412-
# ========================================================================
413-
# Misc
414-
# ========================================================================
414+
# endregion
415+
416+
# region Misc runtime operations
415417

416418
@staticmethod
417419
def int_from_byte(v):
@@ -444,6 +446,8 @@ def resolve_enum(enum_obj, value):
444446
except ValueError:
445447
return value
446448

449+
# endregion
450+
447451

448452
class KaitaiStructError(Exception):
449453
"""Common ancestor for all error originating from Kaitai Struct usage.

0 commit comments

Comments
 (0)