a
    !f                     @   s.   d dl mZ d dlZd dlZG dd dZdS )    )TypeNc                   @   s@   e Zd ZdZeej dddZddedddZ	d	d
 Z
dS )EnumRulez@A marshal for converting between integer values and enum values.)
enum_classc                 C   s
   || _ d S N)_enum)selfr    r   Z/var/www/html/python-backend/venv/lib/python3.9/site-packages/proto/marshal/rules/enums.py__init__   s    zEnumRule.__init__N)absentc             	   C   sR   t |trNt || jsNz| |W S  tyL   tdj| jj|d Y n0 |S )Nz'Unrecognized {name} enum value: {value})namevalue)
isinstanceintr   
ValueErrorwarningswarnformat__name__)r   r   r   r   r   r	   	to_python   s    
zEnumRule.to_pythonc                 C   s,   t || jr|jS t |tr(| j| jS |S r   )r   r   r   str)r   r   r   r   r	   to_proto-   s
    
zEnumRule.to_proto)r   
__module____qualname____doc__r   enumIntEnumr
   boolr   r   r   r   r   r	   r      s   r   )typingr   r   r   r   r   r   r   r	   <module>   s   