
    iy                     l    d Z ddlZdZ G d dej        j                  ZdedefdZ	d	eez  defd
Z
dS )zDNS TTL conversion.    Nl    c                       e Zd ZdZdS )BadTTLz!DNS TTL value is not well-formed.N)__name__
__module____qualname____doc__     W/var/www/html/Pagina-Ingenieria-Requisitos/venv/lib/python3.11/site-packages/dns/ttl.pyr   r      s        ++++r
   r   textreturnc                 V   |                                  rt          |           }nt          |           dk    rt          d}d}d}| D ]}|                                 r|dz  }|t          |          z  }d}0|rt          |                                }|dk    r	||dz  z  }nL|dk    r	||dz  z  }n=|d	k    r	||d
z  z  }n.|dk    r	||dz  z  }n|dk    r||z  }nt          d| d          d}d}|dk    st          d          |dk     s|t
          k    rt          d          |S )zConvert the text form of a TTL to an integer.

    The BIND 8 units syntax for TTLs (e.g. '1w6d4h3m10s') is supported.

    *text*, a ``str``, the textual TTL.

    Raises ``dns.ttl.BadTTL`` if the TTL is not well-formed.

    Returns an ``int``.
    r   T
   Fwi:	 diQ hi  m<   szunknown unit ''ztrailing integerz1TTL should be between 0 and 2**32 - 1 (inclusive))isdigitintlenr   lowerMAX_TTL)r   totalcurrent
need_digitcs        r   	from_textr    "   sz    ||~~  -D			Ta
 	" 	"Ayy{{ "23q66!"

 ! LGGII88Wv--EE#XXWu_,EE#XXWt^+EE#XXWr\)EE#XXW$EE !6!!6!6!6777!

!||+,,,qyyEGOOHIIILr
   valuec                     t          | t                    r| S t          | t                    rt          |           S t	          d          )Nzcannot convert value to TTL)
isinstancer   strr    
ValueError)r!   s    r   maker&   T   sH    % 8	E3		 86777r
   )r   dns.exceptiondnsr   	exceptionSyntaxErrorr   r$   r   r    r&   r	   r
   r   <module>r+      s   $       , , , , ,S]& , , ,/C /C / / / /d8c	 8c 8 8 8 8 8 8r
   