def testgetprototype(self): db = descriptor_database.descriptordatabase() pool = descriptor_pool.descriptorpool(db) db.add(self.factory_test1_fd) db.add(self.factory_test2_fd) factory = message_factory.messagefactory() cls = factory.getprototype(pool.findmessagetypebyname( 'net.proto2.python.internal.factory2message')) self.assertisnot(cls, factory_test2_pb2.factory2message) self._exercisedynamicclass(cls) cls2 = factory.getprototype(pool.findmessagetypebyname( 'net.proto2.python.internal.factory2message')) self.assertis(cls, cls2)
""" if descriptor.full_name not in self._classes: result_class = reflection.generatedprotocolmessagetype( descriptor.name.encode('ascii', 'ignore'), (message.message,), {'descriptor': descriptor}) self._classes[descriptor.full_name] = result_class for field in descriptor.fields: if field.message_type: self.getprototype(field.message_type) return self._classes[descriptor.full_name] _db = descriptor_database.descriptordatabase() _pool = descriptor_pool.descriptorpool(_db) _factory = messagefactory() def getmessages(file_protos): """builds a dictionary of all the messages available in a set of files. args: file_protos: a sequence of file protos to build messages out of. returns: a dictionary containing all the message types in the files mapping the fully qualified name to a message subclass for the descriptor. """ result = {}