3
[_ð]u  ã               @   s°   d Z dZdZdZdZdZdZdZdZeeeeeeedœZ	d	eiZ
d
d„ e	jƒ D ƒZdd„ e
jƒ D ƒZdd„ ZeeƒZeeƒZdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )zDNS Message Flags.i €  i   i   é   é€   é    é   )ÚQRÚAAÚTCÚRDÚRAÚADÚCDÚDOc             C   s   i | ]\}}||“qS © r   )Ú.0ÚxÚyr   r   ú./tmp/pip-build-yz_zf6az/dnspython/dns/flags.pyú
<dictcomp>=   s    r   c             C   s   i | ]\}}||“qS r   r   )r   r   r   r   r   r   r   ?   s    c             C   s    t | jƒ ƒ}|jƒ  |jƒ  |S )N)ÚlistÚitemsÚsortÚreverse)ÚtableÚorderr   r   r   Ú_order_flagsB   s    r   c             C   s.   d}| j ƒ }x|D ]}|||jƒ  B }qW |S )Né    )ÚsplitÚupper)Útextr   ÚflagsÚtokensÚtr   r   r   Ú
_from_textM   s
    
r!   c             C   s6   g }x&|D ]\}}| |@ dkr
|j |ƒ q
W dj|ƒS )Nr   ú )ÚappendÚjoin)r   r   r   Z
text_flagsÚkÚvr   r   r   Ú_to_textU   s
    r'   c             C   s
   t | tƒS )zgConvert a space-separated list of flag text values into a flags
    value.

    Returns an ``int``
    )r!   Ú_by_text)r   r   r   r   Ú	from_text]   s    r)   c             C   s   t | ttƒS )zhConvert a flags value into a space-separated list of flag text
    values.

    Returns a ``text``.
    )r'   Ú	_by_valueÚ_flags_order)r   r   r   r   Úto_textg   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!   Ú_edns_by_text)r   r   r   r   Úedns_from_textq   s    r.   c             C   s   t | ttƒS )zsConvert an EDNS flags value into a space-separated list of EDNS flag
    text values.

    Returns a ``text``.
    )r'   Ú_edns_by_valueÚ_edns_flags_order)r   r   r   r   Úedns_to_text{   s    r1   N)Ú__doc__r   r   r   r   r	   r
   r   r   r(   r-   r   r*   r/   r   r+   r0   r!   r'   r)   r,   r.   r1   r   r   r   r   Ú<module>   s6   


