3
a                 @   s   dre  ddgZdr*eej e e e  ddlZddl	Z	drRe
ee e e   ddlmZ ddlmZ dd	lmZ ddlZddlZddlZdree ej  dree  dre dd Zdd Zdd Zdd Z dS )R   sudo_questionrelaunch_via_sudoW       NQ   )prefix)tlgtk)wizardT   b      c             C   s   t jrLt jjt jjjt jjj|d}|j| |j	d |j
|  |j  n6tj| tj| drztt t tj t  drt d S )N)message_typebuttonstextF4   +   r   r   )r   has_gtkGtkMessageDialogMessageTypeERRORButtonsTypeOKformat_secondary_textset_skip_taskbar_hint	set_titlerunr	   text_print_wrapped
OOooooOo00i1IIii1iIi
i1i1i1111II11iiIi11i1I)titler   secondary_text
I1Ii111i1I r'   ]/home/ankuromar296_gmail_com/Downloads/tl-4.14.0-server/libs/modules/thinlinc/sudorelaunch.pyi1I1   s    





  r)   c             C   s  yt jrd}t jjt jjjt jjj|d}|jd|  |j	d |j
|  |jt jjj |j }|j  xt jj rt jj  qnW |t jjjkrt|  n2tjd d| }tj|ddg}|dkrt|  W n> tk
r   drtttj   drtt tt   Y nX d S )Nz This program must be run as root)r   r   r   z2Do you want to try re-launching %s through 'sudo'?Fz!This program must be run as root.Yesnoyes      r   r   )r   r   r   r   r   ZQUESTIONr   ZYES_NOr   r   r   Zset_default_responseZResponseTypeZYESr   destroyZevents_pendingZmain_iterationr   r	   r   text_promptKeyboardInterruptIIiIIiIi11I1ooo000I1Ii1I1iI1iII1I1I1iOoo0OoooOO)r$   ZprogramZIIi1i111IiIIr&   Zi1IOO0o000oZIIiiii1IiIiIIZ	i1ii11iiir'   r'   r(   r   "   s6    



  c              C   sb   t j  dr ttj ttj   t jt jdt j	} t j
|  drFt dr^tt tt t   d S )N   r   P   U   r   r   r   )ossetsidr!   r   r#   r4   r"   openttynameO_RDWRcloser6   ooOOO
i1iiIII111r3   )Zii1iIi1i11ir'   r'   r(   iii111?   s     
  rC   c          .   C   s^  t jdrd9r$tt tj tt   tj	dd}t jd}|sLt j
jd}y:t|d}tj|| W d Q R X |j  |jt jd< W nX tk
r } z<td||jf tjd	 t|tjd	 d:rt d;rt W Y d d }~X nX W d Q R X ddg}tjrt j
jtj dt jd< d<r tt  d=r8tt t tj  d>rFtt  d?r`ttt  t t   dt jd< |j!d d@rtt"t   tt  t#  dArtt  dBrtj$ dCrt%j&t$  dDrtt%j't  t  |j!tj( |j)tj* dErtt tt$    ydFrtt  dGr,tt tjt   dHr>tt t  tjrdIrdt+tt$  t t' t   dJr|tjt' tt,   dKrtt# t  t  dLrtt tt t   dMrt" t j- \}}t.j/|t0d$|g|t.j1t.j2d%}nt j3|d& | W nn tk
rb } zPt4| d't5| tj6d dNr<tt t& tt   dOrRt&t+ t  t#  W Y d d }~X nX d)}	x dPrzt,t  dQrt%t t+  y.|j7j8 }
|
d)krP tj7j9|
 |	|
7 }	W n t:k
rd   dRrtt t+ t tj  dSrtt$ t t t$  dTrt+t" t" t t#  dUr2t$t t  t  t j9|d/ dVrHt$ dWr`ttj, t t%  Y nX qlW |j; }|j7j<  |dkrdXrtt t+t   t4| d2|	 ndYrtt  dZrt" d[rt d\rt#t  d]rt%t  d^r tt t'jj'  d_rtt'j"t   d`r$tt'j  dar:tt&jtj#   dbrPt,tt   t&  t j=| d S )cNZDISPLAY   F)deleteZ
XAUTHORITYz~/.Xauthorityrbz!warning: failed to copy %s to %s:)file   $   Zsudoz-Ezlibexec/tl-ssh-askpassZSUDO_ASKPASSY   K   X   d   1ZTLSSOIGNOREz-A         r   r   M   J   r.   ]   r   9   %      T)Z
preexec_fnZuniversal_newlinesZpass_fdsstdinstdoutstderrr   zFailed to execute 'sudo'a    r   \      2   6      E   L   z"Failed to re-launch through 'sudo'-      I   r-   Z      r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )>r;   getenvoOo0O00rB   r    r   Oor"   tempfileZNamedTemporaryFilepath
expanduserr=   shutilZcopyfileobjflushnameenvironOSErrorprintsysrZ   r6   r   r   joinr   get_tl_prefixr!   
IiIIii11IiI1IOooOoor4   appendi1r2   r3   rA   r#   r   
executableextendargvr7   r5   openpty
subprocessPopenrC   PIPEZSTDOUTexecvpr)   strexitrY   readlinewriter1   waitr@   _exit)r$   ZIIiiZOO00Zo0O0ooOoo00oZOo0Oo00O0OOoOo0O00O0oooZ	oO00o00OOZo00oZIi11IO0O0OZiiI1ZOOOOOr'   r'   r(   r   F   s   
 

       

    
          
  "  

      

         
  r   r   r   r   r   r   )!r    __all__r!   r"   rk   rz   r4   ry   r;   ru   r|   rA   rj   rB   rx   thinlincr   r   r	   r   rl   ro   r3   r6   r5   r2   r#   r7   r   r)   r   rC   r   r'   r'   r'   r(   <module>   s0         