Ë
    QKf±  ã                   óŒ   — d dl Z d dlZd dlmZ d dlZ ej
                  dd«       d dlmZ d dlmZ e d dl	m
Z
  G d„ d	e
«      Zy)
é    N)ÚgettextÚGtkz3.0)ÚGObject)ÚGdkX11)ÚInstallBackendc                   ó,   — e Zd ZdZd„ Z	 dd„Zd„ Zd„ Zy)ÚInstallBackendSynapticz!Install backend based on synapticc                 óH   — dg}d }| j                  | j                  ||«       y )Nz--update-at-startup)Ú_run_synapticÚACTION_UPDATE)ÚselfÚoptÚtempfs      úN/usr/lib/python3/dist-packages/UpdateManager/backend/InstallBackendSynaptic.pyÚupdatezInstallBackendSynaptic.update   s'   € Ø$Ð%ˆØˆØ×Ñ˜4×-Ñ-¨s°EÕ:ó    c                 ó^  — g }|r"|j                  d«       |j                  d«       |j                  d«       |j                  dt        d«      z  «       |j                  d«       |j                  dt        d«      z  «       t        j                  d¬	«      }||z   D ]  }|j	                  d
|z  «       Œ |D ]  }|j	                  d|z  «       Œ |j                  d«       |j                  d|j
                  z  «       |j                  «        | j                  | j                  ||«       y )Nz-ozSynaptic::closeZvt=truez--progress-strú%sz%Please wait, this can take some time.z--finish-strzUpdate is completezw+)Úmodez%s	install
z%s	deinstall
z--set-selections-file)	ÚappendÚ_ÚtempfileÚNamedTemporaryFileÚwriteÚnameÚflushr   ÚACTION_INSTALL)r   Úpkgs_installÚpkgs_upgradeÚpkgs_removeÚclose_on_doner   r   Úpkg_names           r   ÚcommitzInstallBackendSynaptic.commit   s  € ð ˆÙØ�J‰J�tÔØ�J‰JÐ0Ô1à�
‰
Ð#Ô$Ø�
‰
�4œ!ÐCÓDÑDÔEØ�
‰
�>Ô"Ø�
‰
�4œ!Ð0Ó1Ñ1Ô2Ü×+Ñ+°Ô6ˆØ$ |Ñ3ò 	4ˆHØ�K‰K˜¨(Ñ2Õ3ð	4à#ò 	6ˆHØ�K‰KÐ)¨HÑ4Õ5ð	6à�
‰
Ð*Ô+Ø�
‰
�4˜%Ÿ*™*Ñ$Ô%Ø�‰ŒØ×Ñ˜4×.Ñ.°°UÕ;r   c                 ót  — | j                   j                  «       }	 |j                  «       }dddddd|z  g}|j	                  |«       t
        j                  }t        j                  ||¬«      \  }}	}
}||f| _        t        j                  || j                  | j                  «       y	# t        $ r d}Y ŒŠw xY w)
zExecute synaptic.r   z/usr/bin/pkexecz/usr/sbin/synapticz--hide-main-windowz--non-interactivez--parent-window-idr   )ÚflagsN)Úwindow_mainÚ
get_windowÚget_xidÚAttributeErrorÚextendr   ÚSPAWN_DO_NOT_REAP_CHILDÚspawn_asyncÚ
child_dataÚchild_watch_addÚ_on_synaptic_exit)r   Úactionr   r   ÚwinÚxidÚcmdr%   ÚpidÚstdinÚstdoutÚstderrs               r   r   z$InstallBackendSynaptic._run_synaptic8   s·   € à×Ñ×)Ñ)Ó+ˆð	Ø—+‘+“-ˆCð Ø Ø ØØ Ø�3‰Jð
ˆð 	�
‰
�3ŒÜ×/Ñ/ˆÜ'.×':Ñ':¸3ÀeÔ'LÑ$ˆˆe�V˜Vð " 5˜/ˆŒÜ×Ñ  T×%;Ñ%;¸T¿_¹_ÕMøô# ò 	ØŠCð	ús   œB) Â)B7Â6B7c                 óŠ   — |\  }}|r|j                  «        | j                  |dt        j                  |«      dk(  d d ¬«       y )NTr   )Ú
authorizedÚsuccessÚerror_stringÚ
error_desc)ÚcloseÚ_action_doneÚosÚWEXITSTATUS)r   r4   Ú	conditionÚdatar0   r   s         r   r/   z(InstallBackendSynaptic._on_synaptic_exitP   sG   € Ø‰ˆ�ÙØ�K‰KŒMØ×ÑØØÜ—N‘N 9Ó-°Ñ2ØØð 	õ 	
r   N)F)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r#   r   r/   © r   r   r	   r	      s!   „ Ù+ò;ð FKó<ò2Nó0

r   r	   )r?   r   r   r   ÚgiÚrequire_versionÚgi.repositoryr   r   ÚUpdateManager.backendr   r	   rG   r   r   ú<module>rL      sA   ðó
 
Û Ý  ã 	à €× Ñ �5˜%Ô  Ý !õ !á å 0ôC
˜^õ C
r   