+
    QDb   c                   s   ^ RI t^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIt^ RIt^ RI	t	^ RI
t
]
P                  ! ]	P                  ]	P                  R7       ^ RI5 ]P                  ! 4        ]P                   P"                  P                  4         ! R R	]4      t ! R
 R4      t ! R R]4      t ! R R]P,                  4      t ! R R]4      tR# )    N)GObject)GLib)Gdk)Gtk)Zdomain	localedir)Z*c                   s    ] tR t^'tRtR# )OperationCanceled N)__name__
__module____qualname____firstlineno____static_attributes__r       ,/usr/share/system-config-printer/timedops.pyr   r   '   s    r   r   c                   s,   a  ] tR t^*t o R tR tRtV tR# )Timedc                    R # Nr   self   &r   runZ	Timed.run+   s    r   c                r   Fr   r   r   r   cancelZTimed.cancel.   s    r   r   N)r   r	   r
   r   r   r   r   __classdictcell__Z__classdict__   @r   r   r   *   s      r   r   c                   sN   a  ] tR t^1t o R
R ltR tR tR tR tR t	R t
R	tV tR# )TimedSubprocessNc                s"   \         P                  ! R/ VB V n        \        4       V n        . V n        ^V n        Wn        W n        W0n	        V P                  P                  V P                  P                  3 F  pVf   K	  \        P                  ! V\        P                  \        P                  \        P                   ,          \        P"                  ,          V P$                  4      pV P
                  P'                  V4       K  	  RV n        R# )i   Nr   )
subprocessZPopensubpZdictoutput	io_sourcewatcherstimeoutparentshow_dialogstdoutstderrr   Zio_add_watchZPRIORITY_DEFAULTIO_INIO_HUPZIO_ERRwatcherZappendwait_window)r   r!   r"   r#   argsZfsources   &&&&,  r   __init__ZTimedSubprocess.__init__2   s    $$--	f&))""DII$4$45A}**A,0,A,A,0JJ,0KK-8,0KK-8 -1LL: %%v. 6  r   c                s   V P                   '       d'   \        P                  ! ^V P                  4      V n        \        P
                  ! V P                  V P                  4      V n        \        P                  ! 4        V P                  '       d!   \        P                  ! V P                  4       V P                   '       d!   \        P                  ! V P                  4       V P                   F  p\        P                  ! V4       K  	  V P                  e   V P                  P                  4        V P                  P!                  V P"                  P$                  R4      P'                  R4      V P                  P!                  V P"                  P(                  R4      P'                  R4      V P"                  P+                  4       3# )i    Z
)r#   r   Ztimeout_add_secondsshow_wait_windowwait_sourcetimeout_addr!   
do_timeouttimeout_sourcer   mainsource_remover   r)   destroyr   getr   r$   Zsplitr%   Zpoll)r   r+      & r   r   ZTimedSubprocess.runG   s9   #77%% 'D #..04A 3 34 0 01nnF' %'$$'!1!126<<dC!1!126<<dC		!# 	#r   c                s>    R V n         \        P                  ! 4        R# )NF)r2   r   	main_quitr   r   r   r1   ZTimedSubprocess.do_timeout\   s    "r   c                s   V\         P                  ,          '       dP   V P                  P                  VR 4      pW1P	                  4       P                  R4      ,          pW0P                  V&   V\         P                  ,          '       d@   V ;P                  ^,          un        V P                  ^ 8X  d   \        P                  ! 4        R# )r-   zutf-8T)
r   r&   r   r6   ZreadZdecoder'   r    r   r8   )r   r+   Z	conditionZbuffers   &&& r   r(   ZTimedSubprocess.watchera   s    tzz!![[__fb1F{{~--g66F"(KKt{{""MMQM}}! r   c           
     s   \         P                  ! 4        \        P                  ! V P                  R R \        P
                  P                  \        P                  P                  \        R4      R7      pVP                  RR 4       VP                  RV P                  4       V P                  '       d   VP                  V P                  4       VP                  \        P                  P                  4       VP!                  \        R4      4       VP#                  4        Wn        \         P&                  ! 4        R# )TPlease waitr"   ZmodalZdestroy_with_parentZmessage_typeZbuttonsZtextdelete_eventc                  r   r   r   r*      *r   <lambda>Z2TimedSubprocess.show_wait_window.<locals>.<lambda>u   s    Er   responseGathering informationF)r   Zthreads_enterr   MessageDialogr"   MessageTypeINFOButtonsTypeCANCEL_connectwait_window_responseset_transient_forset_positionWindowPositionCENTER_ON_PARENTformat_secondary_textshow_allr)   Zthreads_leaver   Zwaitr7   r   r.   Z TimedSubprocess.show_wait_windown   s      (,$/2/C/C*-//*@*@'('7	9
 	n&9:j$";";<;;;""DKK03-->>?""A&=$>?r   c                h    V\         P                  P                  8X  d   V P                  4        R # R # r   r   ZResponseTyperE   r   r   Zdialogr?      &&&r   rH   Z$TimedSubprocess.wait_window_response   $    s''...KKN /r   c                sv    V P                   ^ 8  d(   \        R4       \        P                  ! 4        ^ V n         R# )r    Command canceledF)r    
debugprintr   r8   r   r   r   r   ZTimedSubprocess.cancel   s+    ==1*+MMDMr   )
r   r   r"   r#   r   r!   r2   r/   r)   r    )i`  NT)r   r	   r
   r   r,   r   r1   r(   r.   rH   r   r   r   r   r   r   r   r   1   s-      *#*
$ r   r   c                   s<   a  ] tR t^t o RR/ 3R ltR tR tRtV tR# )OperationThreadNc                s    \         P                  P                  V 4       V P                  R 4       Wn        W n        W0n        RV n        RV n        R# )TN)		threadingThreadr,   Z	setDaemontargetr*   kwargs	exceptionresult)r   rZ   r*   r[   s   &&&&r   r,   ZOperationThread.__init__   s?    !!4(	r   c                s    \        R V P                  ,          4       V P                  ! V P                  / V P                  B V n        \        R4       R#   \
         d$   p\        RT,          4       Yn         Rp?R# Rp?ii ; i)z
Calling %sZDonezCaught exception %sN)rV   rZ   r*   r[   r]   Z	Exceptionr\   )r   Zer7   r   r   ZOperationThread.run   sb    	t{{23++		AT[[ADK 	-12NN	s   AA B!A??Bc                s    V P                  4       '       d   \        4       hV P                  '       d   V P                  hV P                  # r   )is_aliver   r\   r]   r   r   r   collect_resultZOperationThread.collect_result   s5    ==#%%>>>.. {{r   )r*   r\   r[   r]   rZ   r   )	r   r	   r
   r   r,   r   r_   r   r   r   r   r   rW   rW      s      #"R  r   rW   c                   sN   a  ] tR t^t o R	/ RRRR3R ltR tR tR tR tRt	V t
R# )
TimedOperationNFc                s$   R V n         W@n        WPn        W`n        Wpn        \        VVVR7      V n        V P                  P                  4        VR JV n        V P                  '       d)   \        P                  ! ^2V P                  4      V n        R # R # )N)rZ   r*   r[   )r)   r"   r#   callbackcontextrW   threadZstartuse_callbackr   r0   _check_threadr2   )r   rZ   r*   r[   r"   r#   ra   rb   s   &&&&&&&&r   r,   ZTimedOperation.__init__   s~    & %f,0.46 	$D0"&"2"2B8J8J"KD r   c           
     s   V P                   '       d   \        hV P                  '       Ed   \        P                  ! V P
                  R R \        P                  P                  \        P                  P                  \        R4      R7      pVP                  RR 4       VP                  RV P                  4       V P
                  '       d   VP                  V P
                  4       VP                  \        P                  P                   4       VP#                  \        R4      4       VP%                  4        \&        P(                  ! ^2V P*                  4      V n        \        P.                  ! 4        V P,                  '       d!   \&        P0                  ! V P,                  4       V P                  '       d   XP3                  4        V P4                  P7                  4       # )Tr9   r:   r;   c                  r   r   r   r<   r=   r   r>   Z$TimedOperation.run.<locals>.<lambda>   s    r   r?   r@   )rd   RuntimeErrorr#   r   rA   r"   rB   rC   rD   rE   rF   rG   _wait_window_responserI   rJ   rK   rL   rM   rN   r   r0   re   r2   r3   r4   r5   rc   r_   rO   r7   r   r   ZTimedOperation.run   sA   $$T[[,0d36??3G3G.1oo.D.D+,]+;	=D
 LL.*=>LL*d&@&@A{{{&&4s11BBC&&*A(BCMM"..D4F4FG 3 34LLO{{)),,r   c                s   V P                   P                  4       '       d   R # RV n        V P                  '       d   V P                  e   V P
                  eH   V P	                  V P                   P                  V P                   P                  V P
                  4       R# V P	                  V P                   P                  V P                   P                  4       R# \        P                  ! 4        R# )TF)
rc   r^   r2   rd   ra   rb   r]   r\   r   r8   r   r   r   re   ZTimedOperation._check_thread   s    ;;"" $}}(<<+MM4;;#5#5t{{7L7L#'<<1 	 MM4;;#5#5t{{7L7LM  MMr   c                rP   r   rQ   rR   rS   r   rg   Z$TimedOperation._wait_window_response   rT   r   c                s|    \        R 4       V P                  '       d
   RV n        R# \        P                  ! 4        R# )rU   NF)rV   rd   ra   r   r8   r   r   r   r   ZTimedOperation.cancel   s2    &' DM  MMr   )ra   rb   r"   r#   rc   r2   rd   r)   r   )r   r	   r
   r   r,   r   re   rg   r   r   r   r   r   r   r`   r`      s2     %'4#dDL -8& r   r`   )Zdbus.mainloop.glibZdbusZgi.repositoryr   r   r   r   r   rX   ZconfigZgettextZinstallZPACKAGEr   ZdebugZthreads_initZmainloopZglibrf   r   r   r   rY   rW   r`   r   r   r   <module>rh      s   *  !        v~~1A1A B 
          "	 	 Ye Yvi&& :KU Kr   