pyloxi: add padding as its own member type
Also remove it from pretty-printing.
diff --git a/py_gen/templates/_pack.py b/py_gen/templates/_pack.py
index 15645ee..66ee763 100644
--- a/py_gen/templates/_pack.py
+++ b/py_gen/templates/_pack.py
@@ -26,7 +26,7 @@
:: # under the EPL.
::
:: # TODO coalesce format strings
-:: from py_gen.codegen import Member, LengthMember, TypeMember
+:: from py_gen.codegen import Member, LengthMember, TypeMember, PadMember
:: length_member = None
:: length_member_index = None
:: index = 0
@@ -35,6 +35,8 @@
:: length_member = m
:: length_member_index = index
packed.append(${m.oftype.gen_pack_expr('0')}) # placeholder for ${m.name} at index ${length_member_index}
+:: elif type(m) == PadMember:
+ packed.append('\x00' * ${m.length})
:: else:
packed.append(${m.oftype.gen_pack_expr('self.' + m.name)})
:: #endif
diff --git a/py_gen/templates/_unpack.py b/py_gen/templates/_unpack.py
index 6003725..91186cc 100644
--- a/py_gen/templates/_unpack.py
+++ b/py_gen/templates/_unpack.py
@@ -26,8 +26,11 @@
:: # under the EPL.
::
:: # TODO coalesce format strings
-:: from py_gen.codegen import Member, LengthMember, TypeMember
+:: from py_gen.codegen import Member, LengthMember, TypeMember, PadMember
:: for m in ofclass.members:
+:: if type(m) == PadMember:
+:: continue
+:: #endif
:: unpack_expr = m.oftype.gen_unpack_expr('buf', m.offset)
:: if type(m) == LengthMember:
_length = ${unpack_expr}