我有一个像这样的
定义的protobuf消息message data {
user string = 1;
oneof event {
server.login login = 1;
server.register register = 2;
server.delete delete = 3;
}
}
现在我在python中有一个函数
def create_data_object(self, event)
现在事件可能是protos的实例
server.login
server.register
server.delete
现在根据proto的类型,它就像登录,注册或删除我想创建一个类似
的数据对象dataobject = data(user="someuser", {type}=event)
其中type需要从传递的事件对象中确定。
现在请注意,我可以使用
之类的东西type = event.DESCRIPTOR.full_name
然后使用某种切换条件并相应地实例化对象。但是,我不想走这条路,因为我必须更新库中添加新事件类型的所有内容。
我希望它确定用于查看event.DESCRIPTOR.full_name
的类型参数的字段,并从数据原型中找出相应的字段
我怎么能在python中做到这一点?