
    Ngh                           G d  d          Z dS )c                   P    e Zd ZdZdedefdZdddefdZd	 Ze	d
             Z
dS )MessageRulez@A marshal for converting between a descriptor and proto.Message.
descriptorwrapperc                 "    || _         || _        d S N)_descriptor_wrapper)selfr   r   s      W/var/www/html/ai-engine/env/lib/python3.11/site-packages/proto/marshal/rules/message.py__init__zMessageRule.__init__   s    %    N)absentr   c                d    t          || j                  r| j                            |          S |S r   )
isinstancer   r	   wrap)r
   valuer   s      r   	to_pythonzMessageRule.to_python   s2    eT-.. 	-=%%e,,,r   c                 (   t          || j                  r| j                            |          S t          |t                    rM| j        sF	  | j        di |S # t          t          f$ r$}|                     |          j        cY d }~S d }~ww xY w|S )N )	r   r	   pbdictis_mapr   	TypeError
ValueError_pb)r
   r   exs      r   to_protozMessageRule.to_proto   s    eT]++ 	+=##E***eT"" 	04; 	00't'00%000z* 0 0 0 }}U++///////0 s   A B+B
B
Bc                 Z    | j         j        }|j        o|                                j        S )z>Return True if the descriptor is a map entry, False otherwise.)r   
DESCRIPTORhas_options
GetOptions	map_entry)r
   descs     r   r   zMessageRule.is_map0   s*     *?DOO$5$5$??r   )__name__
__module____qualname____doc__typer   boolr   r   propertyr   r   r   r   r   r      s        JJ 4  $         26   $    
  ( @ @ X@ @ @r   r   N)r   r   r   r   <module>r+      sA    $@ $@ $@ $@ $@ $@ $@ $@ $@ $@r   