Edit File: futures.cpython-37.opt-2.pyc
B ����0��c2������������������@���s����d�Z�ddlZddlZddlZddlZddlmZ�ddlmZ�ddlm Z �ej Z ejZejZej Z ejZejZejZejd�ZG�dd��d�ZeZd d ��Zdd��Zd d��Zdd��Zdd��Zdd�dd�ZyddlZW�n�ek r����Y�nX�ej�ZZdS�))�CancelledError�TimeoutError�InvalidStateError�Future�wrap_future�isfuture�����N����)�base_futures)�events)�format_helpersc���������������@���s����e�Zd�ZeZdZdZdZdZdZ dZ dd�dd�Zej Zdd��Zdd ��Zed d���Zejdd���Zd d��Zdd��Zdd��Zdd��Zdd��Zdd��Zdd��Zdd�dd�Zdd��Zd d!��Zd"d#��Zd$d%��ZeZ dS�)&r���NF)�loopc������������C���s@���|d�krt����|�_n||�_g�|�_|�j���r<t�t�d��|�_ d�S�)Nr���) r ����get_event_loop�_loop� _callbacksZ get_debugr���� extract_stack�sys� _getframe�_source_traceback)�selfr�����r����4/opt/alt/python37/lib64/python3.7/asyncio/futures.py�__init__G���s���� zFuture.__init__c�������������C���s���d��|�jjd�|������S�)Nz<{} {}>� )�format� __class__�__name__�join� _repr_info)r���r���r���r����__repr__Y���s���� zFuture.__repr__c�������������C���sF���|�j�s d�S�|�j}|�jj��d�||�d�}|�jr6|�j|d<�|�j�|��d�S�)Nz exception was never retrieved)�message� exception�futureZsource_traceback)�_Future__log_traceback� _exceptionr���r���r���r���Zcall_exception_handler)r����exc�contextr���r���r����__del__]���s���� zFuture.__del__c�������������C���s���|�j�S�)N)r"���)r���r���r���r����_log_tracebackm���s����zFuture._log_tracebackc�������������C���s���t�|�rtd��d|�_d�S�)Nz'_log_traceback can only be set to FalseF)�bool� ValueErrorr"���)r����valr���r���r���r'���q���s����c�������������C���s���|�j�}|d�krtd��|S�)Nz!Future object is not initialized.)r����RuntimeError)r���r���r���r���r����get_loopw���s����zFuture.get_loopc�������������C���s&���d|�_�|�jtkrdS�t|�_|�����dS�)NFT)r"����_state�_PENDING� _CANCELLED�_Future__schedule_callbacks)r���r���r���r����cancel~���s���� z Future.cancelc�������������C���sL���|�j�d�d���}|sd�S�g�|�j�d�d��<�x"|D�]\}}|�jj||�|d��q*W�d�S�)N)r%���)r���r���� call_soon)r���Z callbacks�callback�ctxr���r���r���Z__schedule_callbacks����s����zFuture.__schedule_callbacksc�������������C���s ���|�j�tkS�)N)r-���r/���)r���r���r���r���� cancelled����s����zFuture.cancelledc�������������C���s ���|�j�tkS�)N)r-���r.���)r���r���r���r����done����s����zFuture.donec�������������C���s<���|�j�tkrt�|�j�tkr td��d|�_|�jd�k r6|�j�|�jS�)NzResult is not ready.F)r-���r/���r���� _FINISHEDr���r"���r#����_result)r���r���r���r����result����s���� z Future.resultc�������������C���s,���|�j�tkrt�|�j�tkr td��d|�_|�jS�)NzException is not set.F)r-���r/���r���r7���r���r"���r#���)r���r���r���r���r �������s���� zFuture.exception)r%���c������������C���sB���|�j�tkr|�jj||�|d��n |d�kr.t���}|�j�||f��d�S�)N)r%���)r-���r.���r���r2����contextvarsZcopy_contextr����append)r����fnr%���r���r���r����add_done_callback����s ���� zFuture.add_done_callbackc����������������s<�����fdd�|�j�D��}t|�j��t|��}|r8||�j�d�d��<�|S�)Nc����������������s ���g�|�]\}}|��kr||f�qS�r���r���)�.0�fr4���)r<���r���r���� <listcomp>����s���z/Future.remove_done_callback.<locals>.<listcomp>)r����len)r���r<���Zfiltered_callbacksZ removed_countr���)r<���r����remove_done_callback����s���� zFuture.remove_done_callbackc�������������C���s4���|�j�tkrtd�|�j�|����||�_t|�_�|�����d�S�)Nz{}: {!r})r-���r.���r���r���r8���r7���r0���)r���r9���r���r���r���� set_result����s ���� zFuture.set_resultc�������������C���s^���|�j�tkrtd�|�j�|����t|t�r,|��}t|�tkr@td��||�_t |�_�|�� ���d|�_d�S�)Nz{}: {!r}zPStopIteration interacts badly with generators and cannot be raised into a FutureT)r-���r.���r���r���� isinstance�type� StopIteration� TypeErrorr#���r7���r0���r"���)r���r ���r���r���r���� set_exception����s���� zFuture.set_exceptionc�������������c���s,���|�����sd|�_|�V��|�����s$td��|����S�)NTzawait wasn't used with future)r6����_asyncio_future_blockingr+���r9���)r���r���r���r���� __await__��s����zFuture.__await__)!r���� __module__�__qualname__r.���r-���r8���r#���r���r���rI���r"���r���r ���Z_future_repr_infor���r���r&����propertyr'����setterr,���r1���r0���r5���r6���r9���r ���r=���rB���rC���rH���rJ����__iter__r���r���r���r���r��� ���s4���r���c�������������C���s,���y |�j�}W�n�tk r���Y�nX�|��S�|�jS�)N)r,����AttributeErrorr���)�futr,���r���r���r���� _get_loop��s���� rR���c�������������C���s���|�����rd�S�|��|��d�S�)N)r5���rC���)rQ���r9���r���r���r����_set_result_unless_cancelled��s����rS���c�������������C���sN���|����r|�����|����sd�S�|���}|d�k r8|��|��n|���}|��|��d�S�)N)r5���r1���Zset_running_or_notify_cancelr ���rH���r9���rC���)� concurrent�sourcer ���r9���r���r���r����_set_concurrent_future_state&��s����rV���c�������������C���sP���|����rd�S�|�����r|����n.|����}|d�k r:|�|��n|����}|�|��d�S�)N)r5���r1���r ���rH���r9���rC���)rU����destr ���r9���r���r���r����_copy_future_state5��s���� rX���c����������������s����t���st�tjj�std��t���s<t�tjj�s<td��t���rLt��nd��t���r`t��nd��dd�������fdd�}�����fdd�}��|����|��d�S�) Nz(A future is required for source argumentz-A future is required for destination argumentc�������������S���s"���t�|��rt||���n t|�|��d�S�)N)r���rX���rV���)r!����otherr���r���r���� _set_stateY��s����z!_chain_future.<locals>._set_statec����������������s2���|�����r.�d�ks���kr"�����n���j��d�S�)N)r5���r1����call_soon_threadsafe)�destination)� dest_looprU����source_loopr���r����_call_check_cancel_��s���� z)_chain_future.<locals>._call_check_cancelc����������������sJ��������r�d�k r����rd�S��d�ks,��kr8���|���n�����|���d�S�)N)r5���Z is_closedr[���)rU���)rZ���r]���r\���r^���r���r����_call_set_statef��s����z&_chain_future.<locals>._call_set_state)r���rD���rT���Zfuturesr���rG���rR���r=���)rU���r\���r_���r`���r���)rZ���r]���r\���rU���r^���r���� _chain_futureI��s���� ra���)r���c������������C���s2���t�|��r|�S�|d�krt���}|���}t|�|��|S�)N)r���r ���r ���Z create_futurera���)r!���r���Z new_futurer���r���r���r���s��s���� r���)�__all__�concurrent.futuresrT���r:���Zloggingr�����r ���r ���r���r���r���r���r���r.���r/���r7����DEBUGZSTACK_DEBUGr���Z _PyFuturerR���rS���rV���rX���ra���r���Z_asyncio�ImportErrorZ_CFuturer���r���r���r����<module>���s:��� �q*