Construct 1.20 released
tomerfiliba at gmail.com
tomerfiliba at gmail.com
Fri Apr 7 16:10:11 CEST 2006
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
More information about the Python-announce-list
mailing list