All pastes #674649 Raw Edit

Something

public python v1 · immutable
#674649 ·published 2007-08-29 13:04 UTC
rendered paste body
class StructuredData( object):    def __init__( self, format, members, buf, offset):        self.buf = buf        self.format = "<" + format # little-endian        self.members = members        self.offset = offset        # determine size of structured data        self.size = struct.calcsize( self.format)        # unpack structured data according to the specified format into a tuple        data = struct.unpack( self.format, buf[ self.offset: self.offset + self.size])        # use the tuple of member names and the tuple of values to create members of this class        map( lambda ( member, value): setattr( self, member, value), zip( self.members, data))    def dump( self):        values = map( functools.partial( getattr, self), self.members)        packer = functools.partial( struct.pack, self.format)        for value in values:            packer = functools.partial( packer, value)        return packer()