U
    <æ{f¾
  ã                   @   sÔ   d Z ddlZddlmZ G dd„ dejƒZG dd„ dejƒZeeedœd	d
„Z	eeedœdd„Z
eedœdd„Zeedœdd„Zeedœdd„Zeedœdd„ZejZejZejZejZejZejZejZejZdS )zDNS Message Flags.é    N)ÚAnyc                   @   s(   e Zd ZdZdZdZdZdZdZdZ	dS )	ÚFlagé €  i   i   é   é€   é    é   N)
Ú__name__Ú
__module__Ú__qualname__ÚQRÚAAÚTCÚRDÚRAÚADÚCD© r   r   úH/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/dns/flags.pyr      s   r   c                   @   s   e Zd ZdZdS )ÚEDNSFlagr   N)r	   r
   r   ÚDOr   r   r   r   r   .   s   r   )ÚtextÚ
enum_classÚreturnc                 C   s*   d}|   ¡ }|D ]}||| ¡  O }q|S )Nr   )ÚsplitÚupper)r   r   ÚflagsÚtokensÚtr   r   r   Ú
_from_text3   s
    r   )r   r   r   c                 C   s8   g }|j  ¡ D ]\}}| |@ dkr| |¡ qd |¡S )Nr   ú )Ú__members__ÚitemsÚappendÚjoin)r   r   Z
text_flagsÚkÚvr   r   r   Ú_to_text;   s
    r'   )r   r   c                 C   s
   t | tƒS )zgConvert a space-separated list of flag text values into a flags
    value.

    Returns an ``int``
    )r   r   ©r   r   r   r   Ú	from_textC   s    r)   )r   r   c                 C   s
   t | tƒS )zgConvert a flags value into a space-separated list of flag text
    values.

    Returns a ``str``.
    )r'   r   ©r   r   r   r   Úto_textM   s    r+   c                 C   s
   t | tƒS )zqConvert a space-separated list of EDNS flag text values into a EDNS
    flags value.

    Returns an ``int``
    )r   r   r(   r   r   r   Úedns_from_textW   s    r,   c                 C   s
   t | tƒS )zrConvert an EDNS flags value into a space-separated list of EDNS flag
    text values.

    Returns a ``str``.
    )r'   r   r*   r   r   r   Úedns_to_texta   s    r-   )Ú__doc__ÚenumÚtypingr   ÚIntFlagr   r   ÚstrÚintr   r'   r)   r+   r,   r-   r   r   r   r   r   r   r   r   r   r   r   r   Ú<module>   s$   


