Ë
    �©ïgÈ#  ã                  ó†   — d dl mZ ddlmZ ddlmZ d dlZd dlmZ d dlZd dl	Z
d dlZd dlZ G d„ dej                  «      Zy)	é    )Úannotationsé   )Úevents)ÚfuturesN)ÚAnyc                  óÌ   ‡ — e Zd ZdZddddœ	 	 	 	 	 	 	 dˆ fd„Zdd„Z G d„ de«      Zdd„Zdd	„Z		 d	 	 	 dd
„Z
ddœdd„Zdddœdd„Zdd„Zdd„Zdd„Zddd„Zdd„Zdd„Zˆ xZS ) ÚQAsyncioTaskz5 https://docs.python.org/3/library/asyncio-task.html N)ÚloopÚnameÚcontextc               ó  •— t         ‰| �  ||¬«       || _        |r|nd| _        | j                  j                  | j                  | j                  ¬«       d | _        d| _	        d| _
        d | _        d | _        t        j                  | «       y )N)r
   r   ÚQtTask©r   Fr   )ÚsuperÚ__init__Ú_coroÚ_nameÚ_loopÚ	call_soonÚ_stepÚ_contextÚ_future_to_awaitÚ
_cancelledÚ_cancel_countÚ_cancel_messageÚ_tbÚasyncioÚ_register_task)ÚselfÚcoror
   r   r   Ú	__class__s        €ú7lib/python3.12/site-packages/PySide6/QtAsyncio/tasks.pyr   zQAsyncioTask.__init__   s‚   ø€ ô 	‰Ñ˜d¨GÐÔ4àˆŒ
Ù!‘T xˆŒ
ð 	�
‰
×Ñ˜TŸZ™Z°·±ÐÔ?ð 8<ˆÔàˆŒØˆÔØ+/ˆÔàˆŒô 	×Ñ˜tÕ$ó    c                óú  — | j                   t        j                  j                  j                  k(  rd}n²| j                   t        j                  j                  j
                  k(  rd}n~| j                   t        j                  j                  j                  k(  rdt        | j                  «      › d�}n3| j                   t        j                  j                  j                  k(  rd}d| j                  «       › d› �S )NÚPendingÚDonezDone with exception (Ú)Ú	CancelledzTask 'z' with state: )Ú_stater   ÚQAsyncioFutureÚFutureStateÚPENDINGÚDONE_WITH_RESULTÚDONE_WITH_EXCEPTIONÚreprÚ
_exceptionÚ	CANCELLEDÚget_name)r   Ústates     r"   Ú__repr__zQAsyncioTask.__repr__0   s»   € Ø�;‰;œ'×0Ñ0×<Ñ<×DÑDÒDØ‰EØ�[‰[œG×2Ñ2×>Ñ>×OÑOÒOØ‰EØ�[‰[œG×2Ñ2×>Ñ>×RÑRÒRØ+¬D°·±Ó,AÐ+BÀ!ÐD‰EØ�[‰[œG×2Ñ2×>Ñ>×HÑHÒHØˆEà˜Ÿ™›Ð(¨°u°gÐ>Ð>r#   c                  ó   — e Zd Zy)ú!QAsyncioTask.QtTaskApiMisuseErrorN)Ú__name__Ú
__module__Ú__qualname__© r#   r"   ÚQtTaskApiMisuseErrorr6   <   s   „ Ør#   r;   c                ó,   — t         j                  d«      ‚)NzTasks cannot set results©r	   r;   )r   Úresults     r"   Ú
set_resultzQAsyncioTask.set_result?   s   € ä×/Ñ/Ð0JÓKÐKr#   c                ó,   — t         j                  d«      ‚)NzTasks cannot set exceptionsr=   )r   Ú	exceptions     r"   Úset_exceptionzQAsyncioTask.set_exceptionC   s   € ä×/Ñ/Ð0MÓNÐNr#   c           
     ó„	  — | j                  «       ryd}d| _        | j                  r&t        j                  | j
                  «      }d| _        t        j                  j                  |«      r	 |j                  «        	 t        j                  | j                  | «       t        |t        «      r| j                  j                  |«      }n| j                  j                  d«      }t        j                  j                  |«      r`|j!                  | j"                  | j$                  ¬«       || _        | j                  r›| j                  j'                  | j
                  «       nu|€2| j                  j)                  | j"                  | j$                  ¬«       nAt+        d|› �«      }| j                  j)                  | j"                  || j$                  ¬«       	 t        jJ                  | j                  | «       | j@                  rutM        | j@                  «      }|dk(  rd}nd}| j                  jO                  || j@                  | t        j                  j                  |«      r|nd| jH                  dœ«       | j                  «       r&| jQ                  «        t        jR                  | «       yy# t        $ r}|}Y d}~�ŒEd}~ww xY w# t,        $ rE}t        j.                  j0                  j2                  | _        |j6                  | _        Y d}~�Œ:d}~wt:        j                  j                  t        j<                  j                  f$ r;}t        j.                  j0                  j>                  | _        || _         Y d}~�Œªd}~wt        $ rT}t        j.                  j0                  jB                  | _        || _         tE        jF                  «       | _$        Y d}~�Œd}~ww xY w# t        jJ                  | j                  | «       | j@                  rutM        | j@                  «      }|dk(  rd}nd}| j                  jO                  || j@                  | t        j                  j                  |«      r|nd| jH                  dœ«       | j                  «       r&| jQ                  «        t        jR                  | «       w w xY w)	a‚  
        The step function is the heart of a task. It is scheduled in the event
        loop repeatedly, executing the coroutine "step" by "step" (i.e.,
        iterating through the asynchronous generator) until it finishes with an
        exception or successfully. Each step can optionally receive an
        exception or a future as a result from a previous step to handle.
        NFr   zBad task result: ÚNoneÚ z+An exception occurred during task execution)ÚmessagerA   ÚtaskÚfutureÚ	traceback)*Údoner   r   r   ÚCancelledErrorr   r   Úisfuturer>   ÚBaseExceptionÚ_enter_taskr   Ú
isinstancer   ÚthrowÚsendÚadd_done_callbackr   r   Úcancelr   ÚRuntimeErrorÚStopIterationr*   r+   r-   r)   ÚvalueÚ_resultÚ
concurrentÚ
exceptionsr1   r0   r.   rI   Ú
format_excr   Ú_leave_taskÚstrÚcall_exception_handlerÚ_schedule_callbacksÚ_unregister_task)r   Úexception_or_futurer>   ÚerA   rF   s         r"   r   zQAsyncioTask._stepG   s¥  € ð �9‰9Œ;ØØˆØ $ˆÔà�?Š?Ü")×"8Ñ"8¸×9MÑ9MÓ"NÐØ#ˆDŒOä�?‰?×#Ñ#Ð$7Ô8ð(Ø#×*Ñ*Ô,ðN	/Ü×Ñ §
¡
¨DÔ1ô Ð-¬}Ô=ð Ÿ™×)Ñ)Ð*=Ó>‘àŸ™Ÿ™¨Ó.�ô �‰×'Ñ'¨Ô/ð ×(Ñ(Ø—J‘J¨¯©ð )ô 7ð )/�Ô%à—?’?ð ×)Ñ)×0Ñ0°×1EÑ1EÕFØ�ð —
‘
×$Ñ$ T§Z¡Z¸¿¹Ð$ÕGô )Ð+<¸V¸HÐ)EÓF�	Ø—
‘
×$Ñ$ T§Z¡Z°ÀDÇMÁMÐ$ÕRä×Ñ §
¡
¨DÔ1à�ŠÜ˜dŸo™oÓ.�Ø˜fÒ$Ø ‘GàK�GØ—
‘
×1Ñ1Ø&Ø!%§¡Ø ä")§/¡/×":Ñ":Ð;NÔ"Oñ  3à$(Ø!%§¡ñ3ô ð �y‰yŒ{Ø×(Ñ(Ô*ô ×(Ñ(¨Õ.ð	 øô[ !ò (Ø&'Ö#ûð(ûô" ò 	#Ü!×0Ñ0×<Ñ<×MÑMˆDŒKØŸ7™7ˆD�LŠLûÜ×"Ñ"×1Ñ1´7×3EÑ3E×3TÑ3TÐUò 	 Ü!×0Ñ0×<Ñ<×FÑFˆDŒKØˆD�OŠOûÜò 	.Ü!×0Ñ0×<Ñ<×PÑPˆDŒKØˆDŒOÜ ×+Ñ+Ó-ˆD�HŠHûð	.ûôH ×Ñ §
¡
¨DÔ1à�ŠÜ˜dŸo™oÓ.�Ø˜fÒ$Ø ‘GàK�GØ—
‘
×1Ñ1Ø&Ø!%§¡Ø ä")§/¡/×":Ñ":Ð;NÔ"Oñ  3à$(Ø!%§¡ñ3ô ð �y‰yŒ{Ø×(Ñ(Ô*ô ×(Ñ(¨Õ.ð	 úsp   Á-J1 Á>A'K
 Ã%C4O& Ê1	KÊ:KËKË
	O#Ë:LÌO& Ì:O#Í0NÍ=O& ÎO#ÎA	OÏO& ÏO#Ï#O& Ï&CR?)Úlimitc               ó   — t        d«      ‚)Nz#QtTask.get_stack is not implemented©ÚNotImplementedError)r   rb   s     r"   Ú	get_stackzQAsyncioTask.get_stack°   s   € ä!Ð"GÓHÐHr#   )rb   Úfilec               ó   — t        d«      ‚)Nz%QtTask.print_stack is not implementedrd   )r   rb   rg   s      r"   Úprint_stackzQAsyncioTask.print_stack´   s   € ä!Ð"IÓJÐJr#   c                ó   — | j                   S ©N)r   ©r   s    r"   Úget_corozQAsyncioTask.get_coro¸   ó   € Ø�z‰zÐr#   c                ó   — | j                   S rk   )r   rl   s    r"   r2   zQAsyncioTask.get_name»   rn   r#   c                ó$   — t        |«      | _        y rk   )r\   r   )r   rV   s     r"   Úset_namezQAsyncioTask.set_name¾   s   € Ü˜“Zˆ�
r#   c                óº   — | j                  «       ry| xj                  dz  c_        || _        | j                  �| j                  j	                  |«       d| _        y)NFr   T)rJ   r   r   r   rS   r   )r   Úmsgs     r"   rS   zQAsyncioTask.cancelÁ   sS   € Ø�9‰9Œ;ØØ×Ò˜aÑÕØ"ˆÔØ× Ñ Ð,ð ×!Ñ!×(Ñ(¨Ô-ØˆŒØr#   c                ób   — | j                   dkD  r| xj                   dz  c_         | j                   S )Nr   r   ©r   rl   s    r"   ÚuncancelzQAsyncioTask.uncancelÍ   s-   € Ø×Ñ Ò!Ø×Ò !Ñ#ÕØ×!Ñ!Ð!r#   c                ó   — | j                   S rk   ru   rl   s    r"   Ú
cancellingzQAsyncioTask.cancellingÒ   s   € Ø×!Ñ!Ð!r#   )
r    ú5collections.abc.Generator | collections.abc.Coroutiner
   z!'events.QAsyncioEventLoop | None'r   ú
str | Noner   zcontextvars.Context | NoneÚreturnrD   )r{   r\   )r>   r   r{   rD   )rA   r   r{   rD   rk   )r`   z-BaseException | futures.QAsyncioFuture | Noner{   rD   )r{   z	list[Any])r{   rD   )r{   ry   )rs   rz   r{   Úbool)r{   Úint)r7   r8   r9   Ú__doc__r   r4   Ú	Exceptionr;   r?   rB   r   rf   ri   rm   r2   rq   rS   rv   rx   Ú__classcell__)r!   s   @r"   r	   r	      sª   ø„ Ù?ð <@ÐTXØ7;ñ%Ø8ð%ØGQð%à4ð%à@Dõ%ó8
?ô˜yô óLóOð
 TXðg/Ø#Pðg/Ø\`óg/ðR "&õ Ið $(¨dõ Kóóó ô
ó"÷
"r#   r	   )Ú
__future__r   rE   r   r   rI   Útypingr   r   Úcollections.abcÚcollectionsÚconcurrent.futuresrX   Úcontextvarsr*   r	   r:   r#   r"   Ú<module>r‡      s6   ðõ #å Ý Û å ã Û Û Û ôB"�7×)Ñ)õ B"r#   