File: //lib64/python2.7/site-packages/dns/rcode.pyc
�
!`Nc           @   s)  d  Z  d d l Z d Z d Z d Z d Z d Z d Z d	 Z	 d
 Z
 d Z d Z d
 Z
 d Z i e d 6e d 6e d 6e d 6e d 6e d 6e	 d 6e
 d 6e d 6e d 6e
 d 6e d 6Z e g  e j �  D] \ Z Z e e f ^ q� � Z d e j j f d �  �  YZ d �  Z d �  Z d �  Z d  �  Z d S(!   s   DNS Result Codes.i����Ni    i   i   i   i   i   i   i   i   i	   i
   i   t   NOERRORt   FORMERRt   SERVFAILt   NXDOMAINt   NOTIMPt   REFUSEDt   YXDOMAINt   YXRRSETt   NXRRSETt   NOTAUTHt   NOTZONEt   BADVERSt   UnknownRcodec           B   s   e  Z d  Z RS(   s   Raised if an rcode is unknown.(   t   __name__t
   __module__t   __doc__(    (    (    s/   /usr/lib64/python2.7/site-packages/dns/rcode.pyR   7   s   c         C   se   |  j  �  r7 t |  � } | d k r7 | d k r7 | Sn  t j |  j �  � } | d k ra t � n  | S(   s�   Convert text into an rcode.
    @param text: the texual rcode
    @type text: string
    @raises UnknownRcode: the rcode is unknown
    @rtype: int
    i    i�  N(   t   isdigitt   intt   _by_textt   gett   uppert   NoneR   (   t   textt   v(    (    s/   /usr/lib64/python2.7/site-packages/dns/rcode.pyt	   from_text;   s    		c         C   sA   |  d @| d ?d @B} | d k  s. | d k r= t  d � � n  | S(   s�   Return the rcode value encoded by flags and ednsflags.
    @param flags: the DNS flags
    @type flags: int
    @param ednsflags: the EDNS flags
    @type ednsflags: int
    @raises ValueError: rcode is < 0 or > 4095
    @rtype: int
    i   i   i�  i    i�  s   rcode must be >= 0 and <= 4095(   t
   ValueError(   t   flagst	   ednsflagst   value(    (    s/   /usr/lib64/python2.7/site-packages/dns/rcode.pyt
   from_flagsM   s    c         C   sO   |  d k  s |  d k r'