
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3

  \û  ã               @   s^   d Z ddlZddddgZG dd„ dejƒZG dd„ deƒZG d	d„ deƒZG d
d„ deƒZdS )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                   s8   e Zd ZdZ‡ fdd„Zdd„ Zdd„ Zdd	„ Z‡  ZS )
r   zOBase class for addinfo and addclosehook. Is a good idea for garbage collection.c                s    t t| ƒj|ddd� || _d S )Nz<urllib response>F)Údelete)Úsuperr   Ú__init__Úfp)Úselfr	   )Ú	__class__© ú'/usr/lib64/python3.6/urllib/response.pyr      s    zaddbase.__init__c             C   s   d| j jt| ƒ| jf S )Nz<%s at %r whose fp = %r>)r   Ú__name__ÚidÚfile)r
   r   r   r   Ú__repr__   s    zaddbase.__repr__c             C   s   | j jrtdƒ‚| S )NzI/O operation on closed file)r	   ÚclosedÚ
ValueError)r
   r   r   r   Ú	__enter__   s    zaddbase.__enter__c             C   s   | j ƒ  d S )N)Úclose)r
   ÚtypeÚvalueÚ	tracebackr   r   r   Ú__exit__!   s    zaddbase.__exit__)	r   Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   Ú__classcell__r   r   )r   r   r      s
   c                   s,   e Zd ZdZ‡ fdd„Z‡ fdd„Z‡  ZS )r   z*Class to add a close hook to an open file.c                s    t t| ƒj|ƒ || _|| _d S )N)r   r   r   Ú	closehookÚhookargs)r
   r	   r   r   )r   r   r   r   (   s    zaddclosehook.__init__c                s>   z(| j }| j}|r&d | _ d | _||Ž  W d tt| ƒjƒ  X d S )N)r   r   r   r   r   )r
   r   r   )r   r   r   r   -   s    zaddclosehook.close)r   r   r   r   r   r   r   r   r   )r   r   r   %   s   c                   s(   e Zd ZdZ‡ fdd„Zdd„ Z‡  ZS )r   z.class to add an info() method to an open file.c                s   t t| ƒj|ƒ || _d S )N)r   r   r   Úheaders)r
   r	   r    )r   r   r   r   <   s    zaddinfo.__init__c             C   s   | j S )N)r    )r
   r   r   r   Úinfo@   s    zaddinfo.info)r   r   r   r   r   r!   r   r   r   )r   r   r   9   s   c                   s2   e Zd ZdZd	‡ fdd„	Zdd„ Zdd„ Z‡  ZS )
r   z9class to add info() and geturl() methods to an open file.Nc                s"   t t| ƒj||ƒ || _|| _d S )N)r   r   r   ÚurlÚcode)r
   r	   r    r"   r#   )r   r   r   r   G   s    zaddinfourl.__init__c             C   s   | j S )N)r#   )r
   r   r   r   ÚgetcodeL   s    zaddinfourl.getcodec             C   s   | j S )N)r"   )r
   r   r   r   ÚgeturlO   s    zaddinfourl.geturl)N)r   r   r   r   r   r$   r%   r   r   r   )r   r   r   D   s   )r   ZtempfileÚ__all__Z_TemporaryFileWrapperr   r   r   r   r   r   r   r   Ú<module>   s   