
    xnh                     4    d dl mZ d dlZd dlZ G d d      Zy)    )TypeNc                   N    e Zd ZdZdeej                     fdZdddefdZ	d Z
y)	EnumRulez@A marshal for converting between integer values and enum values.
enum_classc                     || _         y N)_enum)selfr   s     Z/var/www/html/profi_bot/bot/venv/lib/python3.12/site-packages/proto/marshal/rules/enums.py__init__zEnumRule.__init__   s	    
    N)absentr   c                
   t        |t              r(t        || j                        s	 | j                  |      S |S # t        $ r> t	        j
                  dj                  | j                  j                  |             Y |S w xY w)Nz'Unrecognized {name} enum value: {value})namevalue)
isinstanceintr	   
ValueErrorwarningswarnformat__name__)r
   r   r   s      r   	to_pythonzEnumRule.to_python   s~    eS!*UDJJ*Gzz%((    =DD!ZZ00# E  s   ; ABBc                     t        || j                        r|j                  S t        |t              r| j                  |   j                  S |S r   )r   r	   r   str)r
   r   s     r   to_protozEnumRule.to_proto-   sD    
 eTZZ(;; eS!::e$*** r   )r   
__module____qualname____doc__r   enumIntEnumr   boolr   r    r   r   r   r      s0    J 4#5   26 $ &r   r   )typingr   r    r   r   r#   r   r   <module>r%      s      ' 'r   