Ë
    òT•j9	  ã                   ó„   — d Z ddlZg d¢Z G d„ dej                  «      Z G d„ de«      Z G d„ d	e«      Z G d
„ de«      Zy)a  Response classes used by urllib.

The base class, addbase, defines a minimal file-like interface,
including read() and readline().  The typical response object is an
addinfourl instance, which defines an info() method that returns
headers and a geturl() method that returns the url.
é    N)ÚaddbaseÚaddclosehookÚaddinfoÚ
addinfourlc                   ó4   ‡ — e Zd ZdZˆ fd„Zd„ Zd„ Zd„ Zˆ xZS )r   zOBase class for addinfo and addclosehook. Is a good idea for garbage collection.c                 ó@   •— t         t        | �  |dd¬«       || _        y )Nz<urllib response>F)Údelete)Úsuperr   Ú__init__Úfp)Úselfr   Ú	__class__s     €ú&/usr/lib/python3.12/urllib/response.pyr   zaddbase.__init__   s!   ø€ ÜŒg˜Ñ& rÐ+>ÀuÐ&ÔMàˆ�ó    c                 óh   — d| j                   j                  ›dt        | «      ›d| j                  ›d�S )Nú<z at z whose fp = ú>)r   Ú__name__ÚidÚfile©r   s    r   Ú__repr__zaddbase.__repr__   s(   � Ø-1¯^©^×-DÓ-DÜ-/°­X°t·y³yðBð 	Br   c                 óH   — | j                   j                  rt        d«      ‚| S )NzI/O operation on closed file)r   ÚclosedÚ
ValueErrorr   s    r   Ú	__enter__zaddbase.__enter__   s   € Ø�7‰7�>Š>ÜÐ;Ó<Ð<Øˆr   c                 ó$   — | j                  «        y ©N)Úclose)r   ÚtypeÚvalueÚ	tracebacks       r   Ú__exit__zaddbase.__exit__!   s   € Ø�
‰
�r   )	r   Ú
__module__Ú__qualname__Ú__doc__r   r   r   r#   Ú__classcell__©r   s   @r   r   r      s   ø„ ÙYôò
Bòö
r   r   c                   ó,   ‡ — e Zd ZdZˆ fd„Zˆ fd„Zˆ xZS )r   z*Class to add a close hook to an open file.c                 óH   •— t         t        | �  |«       || _        || _        y r   )r
   r   r   Ú	closehookÚhookargs)r   r   r+   r,   r   s       €r   r   zaddclosehook.__init__(   s    ø€ ÜŒl˜DÑ*¨2Ô.Ø"ˆŒØ ˆ�r   c                 ó´   •— 	 | j                   }| j                  }|rd | _         d | _         ||Ž  t        t        | �  «        y # t        t        | �  «        w xY wr   )r+   r,   r
   r   r   )r   r+   r,   r   s      €r   r   zaddclosehook.close-   sN   ø€ ð	.ØŸ™ˆIØ—}‘}ˆHÙØ!%�”Ø $�”Ù˜8Ñ$ä”, Ñ+Õ-øŒE”, Ñ+Õ-ús   ƒ-A ÁA)r   r$   r%   r&   r   r   r'   r(   s   @r   r   r   %   s   ø„ Ù4ô!÷
	.ð 	.r   r   c                   ó(   ‡ — e Zd ZdZˆ fd„Zd„ Zˆ xZS )r   z.class to add an info() method to an open file.c                 ó:   •— t         t        | �  |«       || _        y r   )r
   r   r   Úheaders)r   r   r0   r   s      €r   r   zaddinfo.__init__<   s   ø€ ÜŒg�tÑ% bÔ)Øˆ�r   c                 ó   — | j                   S r   )r0   r   s    r   Úinfozaddinfo.info@   s   € Ø�|‰|Ðr   )r   r$   r%   r&   r   r2   r'   r(   s   @r   r   r   9   s   ø„ Ù8ôör   r   c                   ó@   ‡ — e Zd ZdZdˆ fd„	Zed„ «       Zd„ Zd„ Zˆ xZ	S )r   z9class to add info() and geturl() methods to an open file.c                 óJ   •— t         t        | �  ||«       || _        || _        y r   )r
   r   r   ÚurlÚcode)r   r   r0   r5   r6   r   s        €r   r   zaddinfourl.__init__G   s"   ø€ ÜŒj˜$Ñ(¨¨WÔ5ØˆŒØˆ�	r   c                 ó   — | j                   S r   ©r6   r   s    r   Ústatuszaddinfourl.statusL   s   € à�y‰yÐr   c                 ó   — | j                   S r   r8   r   s    r   Úgetcodezaddinfourl.getcodeP   s   € Ø�y‰yÐr   c                 ó   — | j                   S r   )r5   r   s    r   Úgeturlzaddinfourl.geturlS   s   € Ø�x‰xˆr   r   )
r   r$   r%   r&   r   Úpropertyr9   r;   r=   r'   r(   s   @r   r   r   D   s)   ø„ ÙCõð
 ñó ðòör   r   )r&   ÚtempfileÚ__all__Ú_TemporaryFileWrapperr   r   r   r   © r   r   ú<module>rC      sJ   ðñó â
>€ôˆh×,Ñ,ô ô..�7ô .ô(ˆgô ô�õ r   