
    Th1                          G d  d      Z y)c                   H    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
y)MessageRulez@A marshal for converting between a descriptor and proto.Message.
descriptorwrapperc                      || _         || _        y N)_descriptor_wrapper)selfr   r   s      [/opt/server/standalone/crm/venv/lib/python3.12/site-packages/proto/marshal/rules/message.py__init__zMessageRule.__init__   s    %    N)absentr   c                h    t        || j                        r| j                  j                  |      S |S r   )
isinstancer   r	   wrap)r
   valuer   s      r   	to_pythonzMessageRule.to_python   s,    eT--.==%%e,,r   c                 (   t        || j                        r| j                  j                  |      S t        |t              r| j                  s	  | j
                  di |S |S # t        $ r%}| j                  |      j                  cY d }~S d }~ww xY w)N )r   r	   pbdictis_mapr   	TypeError_pb)r
   r   exs      r   to_protozMessageRule.to_proto   s    eT]]+==##E**eT"4;;0't''0%00   0 }}U+///	0s   A# #	B,BBBc                 ~    | j                   j                  }|j                  xr |j                         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_map,   s3     **?DOO$5$?$??r   )__name__
__module____qualname____doc__typer   boolr   r   propertyr   r   r   r   r   r      sD    J 4  $   26 $ 
  @ @r   r   N)r   r   r   r   <module>r*      s     @  @r   