File: //proc/self/root/opt/alt/python37/lib64/python3.7/__pycache__/contextlib.cpython-37.pyc
B
    � f�`  �               @   s^  d Z ddlZddlZddlZddlmZ ddlmZ ddddd	d
ddd
dddgZG dd	� d	ej	�Z
G dd
� d
ej	�ZG dd� de�Z
G dd� d�ZG dd� dee
e
�ZG dd� dee�Zdd� Zdd� ZG dd� de
�ZG dd� de
�ZG dd� de�ZG d d� de�ZG d!d� de
�ZG d"d#� d#�ZG d$d
� d
ee
�ZG d%d� dee�ZG d&d� de
�ZdS )'z4Utilities for with-statement contexts.  See PEP 343.�    N)�deque)�wraps�asynccontextmanager�contextmanager�closing�nullcontext�AbstractContextManager�AbstractAsyncContextManager�AsyncExitStack�ContextDecorator�	ExitStack�redirect_stdout�redirect_stderr�suppressc               @   s2   e Zd ZdZdd� Zejdd� �Zedd� �Z	dS )	r   z,An abstract base class for context managers.c             C   s   | S )z0Return `self` upon entering the runtime context.� )�selfr   r   �//opt/alt/python37/lib64/python3.7/contextlib.py�	__enter__   s    z AbstractContextManager.__enter__c             C   s   dS )z9Raise any exception triggered within the runtime context.Nr   )r   �exc_type�	exc_value�	tracebackr   r   r   �__exit__   s    zAbstractContextManager.__exit__c             C   s   | t krt�|dd�S tS )Nr   r   )r   �_collections_abc�_check_methods�NotImplemented)�cls�Cr   r   r   �__subclasshook__   s    z'AbstractContextManager.__subclasshook__N)
�__name__�
__module__�__qualname__�__doc__r   �abc�abstractmethodr   �classmethodr   r   r   r   r   r      s   c               @   s2   e Zd ZdZdd� Zejdd� �Zedd� �Z	dS )	r	   z9An abstract base class for asynchronous context managers.c             �   s   | S )z0Return `self` upon entering the runtime context.r   )r   r   r   r   �
__aenter__&