ó Du—ac@s†dZdZddlmZddlmZejƒdkrQddlmZ nddlm Z e j Z iZ d„Z d „Zd S( s Contains a metaclass and helper functions used to create protocol message classes from Descriptor objects at runtime. Recall that a metaclass is the "type" of a class. (A class is to a metaclass what an instance is to a class.) In this case, we use the GeneratedProtocolMessageType metaclass to inject all the useful functionality into the classes output by the protocol compiler at compile-time. The upshot of all this is that the real implementation details for ALL pure-Python protocol buffers are *here in this file*. s#robinson@google.com (Will Robinson)i˙˙˙˙(tapi_implementation(tmessagetcpp(t cpp_message(tpython_messagecCs&t|ƒ}|ƒ}|j|ƒ|S(sęGenerate a new Message instance from this Descriptor and a byte string. Args: descriptor: Protobuf Descriptor object byte_str: Serialized protocol buffer byte string Returns: Newly created protobuf Message object. (t MakeClasstParseFromString(t descriptortbyte_strt result_classtnew_msg((s>/usr/lib/python2.7/site-packages/google/protobuf/reflection.pyt ParseMessageCs   cCs†|tkrt|Si}x-|jjƒD]\}}t|ƒ||/usr/lib/python2.7/site-packages/google/protobuf/reflection.pyRSs   N(t__doc__t __author__tgoogle.protobuf.internalRtgoogle.protobufRtTypetgoogle.protobuf.pyextRt message_implRRR R R(((s>/usr/lib/python2.7/site-packages/google/protobuf/reflection.pyt.s