| OLD | NEW |
| 1 # Protocol Buffers - Google's data interchange format | 1 # Protocol Buffers - Google's data interchange format |
| 2 # Copyright 2008 Google Inc. All rights reserved. | 2 # Copyright 2008 Google Inc. All rights reserved. |
| 3 # http://code.google.com/p/protobuf/ | 3 # http://code.google.com/p/protobuf/ |
| 4 # | 4 # |
| 5 # Redistribution and use in source and binary forms, with or without | 5 # Redistribution and use in source and binary forms, with or without |
| 6 # modification, are permitted provided that the following conditions are | 6 # modification, are permitted provided that the following conditions are |
| 7 # met: | 7 # met: |
| 8 # | 8 # |
| 9 # * Redistributions of source code must retain the above copyright | 9 # * Redistributions of source code must retain the above copyright |
| 10 # notice, this list of conditions and the following disclaimer. | 10 # notice, this list of conditions and the following disclaimer. |
| (...skipping 26 matching lines...) Expand all Loading... |
| 37 The easiest way to use this class is if you have access to the FileDescriptor | 37 The easiest way to use this class is if you have access to the FileDescriptor |
| 38 protos containing the messages you want to create you can just do the following: | 38 protos containing the messages you want to create you can just do the following: |
| 39 | 39 |
| 40 message_classes = message_factory.GetMessages(iterable_of_file_descriptors) | 40 message_classes = message_factory.GetMessages(iterable_of_file_descriptors) |
| 41 my_proto_instance = message_classes['some.proto.package.MessageName']() | 41 my_proto_instance = message_classes['some.proto.package.MessageName']() |
| 42 """ | 42 """ |
| 43 | 43 |
| 44 __author__ = 'matthewtoia@google.com (Matt Toia)' | 44 __author__ = 'matthewtoia@google.com (Matt Toia)' |
| 45 | 45 |
| 46 import sys ##PY25 | 46 import sys ##PY25 |
| 47 from google.protobuf import descriptor_database | 47 from protobuf26 import descriptor_database |
| 48 from google.protobuf import descriptor_pool | 48 from protobuf26 import descriptor_pool |
| 49 from google.protobuf import message | 49 from protobuf26 import message |
| 50 from google.protobuf import reflection | 50 from protobuf26 import reflection |
| 51 | 51 |
| 52 | 52 |
| 53 class MessageFactory(object): | 53 class MessageFactory(object): |
| 54 """Factory for creating Proto2 messages from descriptors in a pool.""" | 54 """Factory for creating Proto2 messages from descriptors in a pool.""" |
| 55 | 55 |
| 56 def __init__(self, pool=None): | 56 def __init__(self, pool=None): |
| 57 """Initializes a new factory.""" | 57 """Initializes a new factory.""" |
| 58 self.pool = (pool or descriptor_pool.DescriptorPool( | 58 self.pool = (pool or descriptor_pool.DescriptorPool( |
| 59 descriptor_database.DescriptorDatabase())) | 59 descriptor_database.DescriptorDatabase())) |
| 60 | 60 |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 146 file_protos: A sequence of file protos to build messages out of. | 146 file_protos: A sequence of file protos to build messages out of. |
| 147 | 147 |
| 148 Returns: | 148 Returns: |
| 149 A dictionary mapping proto names to the message classes. This will include | 149 A dictionary mapping proto names to the message classes. This will include |
| 150 any dependent messages as well as any messages defined in the same file as | 150 any dependent messages as well as any messages defined in the same file as |
| 151 a specified message. | 151 a specified message. |
| 152 """ | 152 """ |
| 153 for file_proto in file_protos: | 153 for file_proto in file_protos: |
| 154 _FACTORY.pool.Add(file_proto) | 154 _FACTORY.pool.Add(file_proto) |
| 155 return _FACTORY.GetMessages([file_proto.name for file_proto in file_protos]) | 155 return _FACTORY.GetMessages([file_proto.name for file_proto in file_protos]) |
| OLD | NEW |