@_FFI.callback(u'ValueBuffer(ExternContext*, Value*, Field*)')
def extern_project_multi(context_handle, val, field):
 c = _FFI.from_handle(context_handle)
 obj = c.from_value(val)
 field_name = c.from_key(field)
 projected = tuple((c.to_value(p) for p in getattr(obj, field_name)))
 return (c.vals_buf(projected), len(projected))

@ _FFI . callback ( u'ValueBuffer(ExternContext*, Value*, Field*)' ) def extern_project_multi ( context_handle , val , field ) : c = _FFI . from_handle ( context_handle ) obj = c . from_value ( val ) field_name = c . from_key ( field ) projected = tuple ( ( c . to_value ( p ) for p in getattr ( obj , field_name ) ) ) return ( c . vals_buf ( projected ) , len ( projected ) )
given a key for obj .