o
    }j6h                     @   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deej fddZdddef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   h/var/www/html/chefvision.cloud.itp360.com/venv/lib/python3.10/site-packages/proto/marshal/rules/enums.py__init__   s   
zEnumRule.__init__N)absentr   c             	   C   sT   t |tr(t || js(z| |W S  ty'   tdj| jj|d Y |S w |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   