what is Construct? Construct is a library for declaratively defining data structures at the bit-level, with lots of "built-in" constructs. website: http://pyconstruct.sourceforge.net note: the code is getting pretty stable already, so dont expect any more frequent releases. what's new? * added Formatted, a construct that uses the built-in struct module. * added [Big/Little]Float[32/64], both parsing and building, using Formatted * added FlagsAdapter (see example below) * improved Flag, the constructor now takes 'inverted' instead of 'truth' * improved LV, and made PascalString use LV instead * removed PascalStringAdapter * removed the utils package (may be re-added later if i find what to put in it) example: say you have a 32-bit integer that holds flags, but splitting it up to a Struct of Flag's is difficult, because of byte-ordering, etc. the new FlagsAdapter lets you do the following: my_flag = FlagsAdapter( ULInt32("flags"), dict( owner_read = 0x0001, owner_write = 0x0002, owner_execute = 0x0004, group_read = 0x0008, group_write = 0x0010, group_execute = 0x0020, other_read = 0x0040, other_write = 0x0080, other_execute = 0x0100, ) )
print my_flag.parse("\x83\x00\x00\x00") Container: group_execute = False group_read = False group_write = False other_execute = False other_read = False other_write = True owner_execute = False owner_read = True owner_write = True
-tomer
participants (1)
-
tomerfilibaï¼ gmail.com