File: //lib64/python3.6/urllib/__pycache__/response.cpython-36.opt-1.pyc
3
  \�  �               @   s^   d Z ddlZddddgZG dd� dej�ZG dd� de�ZG d	d� de�ZG d
d� de�ZdS )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 Zd ZdZ� fdd�Zdd� Zdd� Zdd	� Z�  ZS )
r   zOBase class for addinfo and addclosehook. Is a good idea for garbage collection.c                s    t t| �j|ddd� || _d S )Nz<urllib response>F)�delete)�superr   �__init__�fp)�selfr	   )�	__class__� �'/usr/lib64/python3.6/urllib/response.pyr      s    zaddbase.__init__c             C   s   d| j jt| �| jf S )Nz<%s at %r whose fp = %r>)r   �__name__�id�file)r
   r   r   r
   �__repr__   s    zaddbase.__repr__c             C   s   | j jrtd��| S )NzI/O operation on closed file)r	   �closed�
ValueError)r
   r   r   r
   �	__enter__   s    zaddbase.__enter__c             C   s   | j �  d S )N)�close)r
   �type�value�	tracebackr   r   r
   �__exit__!   s    zaddbase.__exit__)	r   �
__module__�__qualname__�__doc__r   r   r   r   �
__classcell__r   r   )r   r
   r      s
   c                   s,   e Zd ZdZ� fdd�Z� fdd�Z�  ZS )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    zaddclosehook.__init__c                s>