a
    SicÃ  ã                   @   s>   d Z dZddlmZ ddlmZ ejZi Zdd„ Zdd„ Z	d	S )
a  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*.
z#robinson@google.com (Will Robinson)é    )Úmessage_factory)Úsymbol_databasec                 C   s   t | ƒ}|ƒ }| |¡ |S )ai  Generate a new Message instance from this Descriptor and a byte string.

  DEPRECATED: ParseMessage is deprecated because it is using MakeClass().
  Please use MessageFactory.GetPrototype() instead.

  Args:
    descriptor: Protobuf Descriptor object
    byte_str: Serialized protocol buffer byte string

  Returns:
    Newly created protobuf Message object.
  )Ú	MakeClassÚParseFromString)Ú
descriptorÚbyte_strZresult_classZnew_msg© r   úV/var/www/html/django/DPS/env/lib/python3.9/site-packages/google/protobuf/reflection.pyÚParseMessage>   s    
r
   c                 C   s   t  ¡  | ¡S )a  Construct a class object for a protobuf described by descriptor.

  DEPRECATED: use MessageFactory.GetPrototype() instead.

  Args:
    descriptor: A descriptor.Descriptor object describing the protobuf.
  Returns:
    The Message class object described by the descriptor.
  )r   ÚDefaultZGetPrototype)r   r   r   r	   r   R   s    r   N)
Ú__doc__Ú
__author__Úgoogle.protobufr   r   Z _GENERATED_PROTOCOL_MESSAGE_TYPEÚGeneratedProtocolMessageTypeZMESSAGE_CLASS_CACHEr
   r   r   r   r   r	   Ú<module>!   s   