Ë
    ¸|fý@  ã                   óê   — d dl mZ d dlZd dlZd dlZd dlZd dlZd dlm	Z	 d dl
mZ d dlmZ dZdZdZ ed¬	«       d
„ Z G d„ dej$                  «      Z G d„ dej(                  j*                  e«      Zy)é    )ÚGLibN)ÚSourceEntry)ÚDBusGMainLoop)ÚSoftwarePropertieszcom.ubuntu.SoftwarePropertiesú/T)Úset_as_defaultc                 óN   — t         j                  dk  r| j                  d«      S | S )NÚ3zutf-8)ÚsysÚversionÚencode)Ústrings    úP/usr/lib/python3/dist-packages/softwareproperties/dbus/SoftwarePropertiesDBus.pyÚ_to_unicoder   (   s"   € Ü‡[�[�3ÒØ�=‰=˜Ó!Ð!à€Mó    c                   ó   — e Zd ZdZy)ÚPermissionDeniedByPolicyz6com.ubuntu.SoftwareProperties.PermissionDeniedByPolicyN)Ú__name__Ú
__module__Ú__qualname__Ú_dbus_error_name© r   r   r   r   .   s   „ ØOÑr   r   c                   óT  ‡ — e Zd Zd+d„Zˆ fd„Zˆ fd„Zej                  j                  e	d¬«      d„ «       Z
ej                  j                  e	d¬«      d„ «       Zej                  j                  e	d¬«      d„ «       Zej                  j                  e	d¬«      d	„ «       Zej                  j                  e	d¬«      d
„ «       Zej                  j                  e	dddd¬«      d,d„«       Zej                  j                  e	dddd¬«      d,d„«       Zej                  j                  e	dddd¬«      d,d„«       Zej                  j                  e	dddd¬«      d,d„«       Zej                  j                  e	dddd¬«      d,d„«       Zej                  j                  e	dddd¬«      d,d„«       Zej                  j                  e	dddd¬«      d,d„«       Zej                  j                  e	dddd¬«      d,d„«       Zej                  j                  e	dddd¬«      d,d„«       Zej                  j                  e	dddd¬«      d,d„«       Zej                  j                  e	dddd¬«      d,d„«       Zej                  j                  e	dddd¬«      d,d„«       Zd„ Zd„ Zej                  j                  e	dddd¬«      d,d„«       Zej                  j                  e	ddd d¬«      d,d!„«       Zej                  j                  e	ddd d¬«      d,d"„«       Z ej                  j                  e	ddd d¬«      d,d#„«       Z!ej                  j                  e	dddd¬«      d,d$„«       Z"ej                  j                  e	dddd¬«      d,d%„«       Z#ej                  j                  e	dddd¬«      d,d&„«       Z$ej                  j                  e	dddd¬«      d,d'„«       Z%ej                  j                  e	dddd¬«      d,d(„«       Z&ej                  j                  e	dddd¬«      d,d)„«       Z'd*„ Z(ˆ xZ)S )-ÚSoftwarePropertiesDBusc                 ó4  — t        j                  | |||d¬«       d | _        d | _        t        j
                  j                  t        |¬«      }t        j
                  j                  j                  | |t        «       d| _
        t        j                  d«       y )NT)ÚoptionsÚdatadirÚrootdirÚdeb822)Úbuszwaiting for connections)r   Ú__init__Ú	dbus_infoÚpolkitÚdbusÚserviceÚBusNameÚDBUS_INTERFACE_NAMEÚObjectÚ	DBUS_PATHÚenforce_polkitÚloggingÚdebug)Úselfr    r   r   r   Úbus_names         r   r!   zSoftwarePropertiesDBus.__init__3   sw   € ä×#Ñ# D°'À7Ø,3¸Dõ	Bð ˆŒØˆŒä—<‘<×'Ñ'Ô(;ÀÐ'ÓEˆÜ�‰×Ñ×$Ñ$ T¨8´YÔ?à"ˆÔÜ�‰Ð/Õ0r   c                 óJ   •— t         t        | �  «        | j                  «        y ©N)Úsuperr   Úsave_sourceslistÚSourcesListModified©r-   Ú	__class__s    €r   r2   z'SoftwarePropertiesDBus.save_sourceslistB   s   ø€ ÜÔ$ dÑ<Ô>Ø× Ñ Õ"r   c                 óJ   •— t         t        | �  «        | j                  «        y r0   )r1   r   Úwrite_configÚConfigModifiedr4   s    €r   r7   z#SoftwarePropertiesDBus.write_configE   s   ø€ ÜÔ$ dÑ8Ô:Ø×ÑÕr   Ú )Údbus_interfaceÚ	signaturec                 ó.   — t        j                  d«       y)ú0 emit signal when the sources.list got modified zSourcesListModified signalN©r+   r,   ©r-   s    r   r3   z*SoftwarePropertiesDBus.SourcesListModifiedJ   s   € ô 	�‰Ð2Õ3r   c                 ó.   — t        j                  d«       y)r=   zConfigModified signalNr>   r?   s    r   r8   z%SoftwarePropertiesDBus.ConfigModifiedO   s   € ô 	�‰Ð-Õ.r   c                 ó.   — t        j                  d«       y)z, emit signal when the apt keys got modified zKeysModified signalNr>   r?   s    r   ÚKeysModifiedz#SoftwarePropertiesDBus.KeysModifiedT   s   € ô 	�‰Ð+Õ,r   c                 ó.   — t        j                  d«       y)z6 emit signal when the policykit authentication failed zAuth signalNr>   r?   s    r   Ú
AuthFailedz!SoftwarePropertiesDBus.AuthFailedY   s   € ô 	�‰�mÕ$r   c                 ó.   — t        j                  d«       y)z( emit signal when adding a cdrom failed zCdrom scan failed signalNr>   r?   s    r   ÚCdromScanFailedz&SoftwarePropertiesDBus.CdromScanFailed^   s   € ô 	�‰Ð0Õ1r   ÚsenderÚconn)Úsender_keywordÚconnection_keywordÚin_signatureÚout_signaturec                 óJ   — | j                  ||d«       | j                  «        y ©Nz*com.ubuntu.softwareproperties.applychanges)Ú_check_policykit_privilegeÚrevert©r-   rG   rH   s      r   ÚRevertzSoftwarePropertiesDBus.Reverte   s$   € ð 	×'Ñ'Ø�DÐFô	Hà�‰�r   c                 ó$   — | j                  «        y r0   )Úreload_sourceslistrQ   s      r   ÚReloadzSoftwarePropertiesDBus.Reloadm   s   € ð 	×ÑÕ!r   Úsc                 ó^   — | j                  ||d«       | j                  t        |«      «       y rN   )rO   Úenable_child_sourcer   ©r-   ÚtemplaterG   rH   s       r   ÚEnableChildSourcez(SoftwarePropertiesDBus.EnableChildSourcet   s.   € ð 	×'Ñ'Ø�DÐFô	Hà× Ñ ¤¨XÓ!6Õ7r   c                 ó^   — | j                  ||d«       | j                  t        |«      «       y rN   )rO   Údisable_child_sourcer   rY   s       r   ÚDisableChildSourcez)SoftwarePropertiesDBus.DisableChildSource|   s.   € ð 	×'Ñ'Ø�DÐFô	Hà×!Ñ!¤+¨hÓ"7Õ8r   c                 ó^   — | j                  ||d«       | j                  t        |«      «       y rN   )rO   Úenable_componentr   ©r-   Ú	componentrG   rH   s       r   ÚEnableComponentz&SoftwarePropertiesDBus.EnableComponent„   s.   € ð 	×'Ñ'Ø�DÐFô	Hà×Ñœk¨)Ó4Õ5r   c                 ó^   — | j                  ||d«       | j                  t        |«      «       y rN   )rO   Údisable_componentr   ra   s       r   ÚDisableComponentz'SoftwarePropertiesDBus.DisableComponentŒ   s.   € ð 	×'Ñ'Ø�DÐFô	Hà×Ñœ{¨9Ó5Õ6r   c                 óJ   — | j                  ||d«       | j                  «        y rN   )rO   Úenable_source_code_sourcesrQ   s      r   ÚEnableSourceCodeSourcesz.SoftwarePropertiesDBus.EnableSourceCodeSources”   s'   € ð 	×'Ñ'Ø�DÐFô	Hà×'Ñ'Õ)r   c                 ój   — | j                  ||d«       | j                  «        | j                  «        y rN   )rO   Údisable_source_code_sourcesr2   rQ   s      r   ÚDisableSourceCodeSourcesz/SoftwarePropertiesDBus.DisableSourceCodeSourcesœ   s3   € ð 	×'Ñ'Ø�DÐFô	Hà×(Ñ(Ô*Ø×ÑÕr   c                 ó^   — | j                  ||d«       | j                  t        |«      «       y rN   )rO   Útoggle_source_user   ©r-   ÚsourcerG   rH   s       r   ÚToggleSourceUsez&SoftwarePropertiesDBus.ToggleSourceUse¥   s.   € ð 	×'Ñ'Ø�DÐFô	Hà×Ñœ{¨6Ó2Õ3r   ÚssÚbc                 óp   — | j                  ||d«       | j                  t        |«      t        |«      «      S rN   )rO   Úreplace_source_entryr   )r-   ÚoldÚnewrG   rH   s        r   ÚReplaceSourceEntryz)SoftwarePropertiesDBus.ReplaceSourceEntry­   s=   € ð 	×'Ñ'Ø�DÐFô	Hà×(Ñ(Ü˜Óœk¨#Ó.ó0ð 	0r   c                 ó^   — | j                  ||d«       | j                  t        |«      «       y rN   )rO   Úchange_main_download_serverr   )r-   ÚserverrG   rH   s       r   ÚChangeMainDownloadServerz/SoftwarePropertiesDBus.ChangeMainDownloadServer¶   s.   € ð 	×'Ñ'Ø�DÐFô	Hà×(Ñ(¬°VÓ)<Õ=r   c                 óJ   — | j                  ||d«       | j                  «        y rN   )rO   Ú_add_cdrom_sourcerQ   s      r   ÚAddCdromSourcez%SoftwarePropertiesDBus.AddCdromSource¿   s'   € ð 	×'Ñ'Ø�DÐFô	Hà×ÑÕ r   c                 óÐ   — t        j                  «       }dddddddddddd|j                  z  g}t        j                  |«      }t        j                  d	| j                  ||«       y
)z  add a (already inserted) cdrom z	apt-cdromÚaddz-ozDebug::aptcdrom=1zDebug::identcdrom=1zacquire::cdrom::AutoDetect=1zacquire::cdrom::NoMount=1zDir::Etc::sourcelist=%siô  N)ÚtempfileÚNamedTemporaryFileÚnameÚ
subprocessÚPopenr   Útimeout_addÚ_wait_for_cdrom_scan_finish)r-   ÚtmpÚcmdÚps       r   r~   z(SoftwarePropertiesDBus._add_cdrom_sourceÇ   sq   € ä×)Ñ)Ó+ˆð ˜EØÐ(ØÐ*ØÐ3ØÐ0ØÐ.°·±Ñ9ðˆô ×Ñ˜SÓ!ˆä×Ñ˜˜d×>Ñ>ÀÀ3ÕGr   c                 ó6  — |j                  «       €y|j                  «       }|dk7  r| j                  «        yd}t        |j                  «      D ]  }|}Œ |dk7  r?| j                  j
                  j                  dt        |«      «       | j                  «        y)z= glib timeout helper to wait for the cdrom scanner to finish Tr   Fr9   )	ÚpollrF   Úopenr„   ÚsourceslistÚlistÚinsertr   Úset_modified_sourceslist)r-   r‹   r‰   ÚresÚlineÚxs         r   rˆ   z2SoftwarePropertiesDBus._wait_for_cdrom_scan_finish×   sŒ   € ð �6‰6‹8ÐØà�f‰f‹hˆØ�!Š8Ø× Ñ Ô"Øàˆä�c—h‘h“ò 	ˆAØ‰Dð	à�2Š:Ø×Ñ×!Ñ!×(Ñ(¨¬K¸Ó,=Ô>Ø×)Ñ)Ô+Ør   c                 óL   — | j                  ||d«       | j                  |«       y rN   )rO   Úset_popcon_pariticipation)r-   ÚparticipatesrG   rH   s       r   ÚSetPopconPariticipationz.SoftwarePropertiesDBus.SetPopconPariticipationì   s)   € ð 	×'Ñ'Ø�DÐFô	Hà×&Ñ& |Õ4r   Úic                 óL   — | j                  ||d«       | j                  |«       y rN   )rO   Úset_update_automation_level©r-   ÚstaterG   rH   s       r   ÚSetUpdateAutomationLevelz/SoftwarePropertiesDBus.SetUpdateAutomationLevelô   ó)   € ð 	×'Ñ'Ø�DÐFô	Hà×(Ñ(¨Õ/r   c                 óL   — | j                  ||d«       | j                  |«       y rN   )rO   Úset_release_upgrades_policyr�   s       r   ÚSetReleaseUpgradesPolicyz/SoftwarePropertiesDBus.SetReleaseUpgradesPolicyü   r    r   c                 ó^   — | j                  ||d«       | j                  t        |«      «       y rN   )rO   Úset_update_intervalÚint)r-   ÚdaysrG   rH   s       r   ÚSetUpdateIntervalz(SoftwarePropertiesDBus.SetUpdateInterval  s-   € ð 	×'Ñ'Ø�DÐFô	Hà× Ñ ¤ T£Õ+r   c                 ó~   — | j                  ||d«       | j                  t        |«      «       | j                  «        y rN   )rO   Úadd_source_from_liner   rB   )r-   Ú
sourceLinerG   rH   s       r   ÚAddSourceFromLinez(SoftwarePropertiesDBus.AddSourceFromLine  s:   € ð 	×'Ñ'Ø�DÐFô	Hà×!Ñ!¤+¨jÓ"9Ô:Ø×ÑÕr   c                 ó^   — | j                  ||d«       | j                  t        |«      «       y rN   )rO   Úremove_sourcer   ro   s       r   ÚRemoveSourcez#SoftwarePropertiesDBus.RemoveSource  s.   € ð 	×'Ñ'Ø�DÐFô	Hà×Ñœ; vÓ.Õ/r   c                 ór   — | j                  ||d«       | j                  |«      }|r| j                  «        |S rN   )rO   Úadd_keyrB   )r-   ÚpathrG   rH   r“   s        r   ÚAddKeyzSoftwarePropertiesDBus.AddKey!  s=   € ð 	×'Ñ'Ø�DÐFô	Hà�l‰l˜4Ó ˆÙØ×ÑÔØˆ
r   c                 ór   — | j                  ||d«       | j                  |«      }|r| j                  «        |S rN   )rO   Úadd_key_from_datarB   )r-   ÚkeyDatarG   rH   r“   s        r   ÚAddKeyFromDataz%SoftwarePropertiesDBus.AddKeyFromData,  s?   € ð 	×'Ñ'Ø�DÐFô	Hà×$Ñ$ WÓ-ˆÙØ×ÑÔØˆ
r   c                 ór   — | j                  ||d«       | j                  |«      }|r| j                  «        |S rN   )rO   Ú
remove_keyrB   )r-   ÚkeyidrG   rH   r“   s        r   Ú	RemoveKeyz SoftwarePropertiesDBus.RemoveKey7  s=   € ð 	×'Ñ'Ø�DÐFô	Hà�o‰o˜eÓ$ˆÙØ×ÑÔØˆ
r   c                 óp   — | j                  ||d«       | j                  «       }|r| j                  «        |S rN   )rO   Úupdate_keysrB   )r-   rG   rH   r“   s       r   Ú
UpdateKeysz!SoftwarePropertiesDBus.UpdateKeysB  s=   € ð 	×'Ñ'Ø�DÐFô	Hà×ÑÓ ˆÙØ×ÑÔØˆ
r   c           
      ó$  — |€|€y| j                   sy| j                  €,t        j                  |j	                  ddd«      d«      | _        | j                  j                  |«      }| j                  €>t        j                  t        j                  «       j	                  ddd«      d«      | _        	 | j                  j                  dd	t        j                  |d
¬«      if|ddit        j                  d
«      dd¬«      \  }}}|sAt        j                  d||||t!        |«      fz  «       | j#                  «        t%        |«      ‚y# t        j                  $ r4}|j                  dk(  rd| _        | j                  |||«      cY d}~S ‚ d}~ww xY w)aÁ  Verify that sender has a given PolicyKit privilege.

        sender is the sender's (private) D-BUS name, such as ":1:42"
        (sender_keyword in @dbus.service.methods). conn is
        the dbus.Connection object (connection_keyword in
        @dbus.service.methods). privilege is the PolicyKit privilege string.

        This method returns if the caller is privileged, and otherwise throws a
        PermissionDeniedByPolicy exception.
        Nzorg.freedesktop.DBusz/org/freedesktop/DBus/BusFzorg.freedesktop.PolicyKit1z%/org/freedesktop/PolicyKit1/Authorityz$org.freedesktop.PolicyKit1.Authorityzsystem-bus-namer„   é   )Úvariant_levelr9   iX  )Útimeoutz)org.freedesktop.DBus.Error.ServiceUnknownzW_check_polkit_privilege: sender %s on connection %s pid %i is not authorized for %s: %s)r*   r"   r$   Ú	InterfaceÚ
get_objectÚGetConnectionUnixProcessIDr#   Ú	SystemBusÚCheckAuthorizationÚStringÚUInt32ÚDBusExceptionr   Ú_check_polkit_privileger+   r,   ÚstrrD   r   )	r-   rG   rH   Ú	privilegeÚpidÚis_authÚ_ÚdetailsÚes	            r   rO   z1SoftwarePropertiesDBus._check_policykit_privilegeN  s‡  € ð ˆ>˜d˜làØ×"Ò"ð ð �>‰>Ð!Ü!Ÿ^™^¨D¯O©OÐ<RØ+¨Uó-4Ø5KóMˆDŒNà�n‰n×7Ñ7¸Ó?ˆð �;‰;ÐÜŸ.™.¬¯©Ó)9×)DÑ)DØ,Ø7¸ó*@ð 7ó8ˆDŒKð	à$(§K¡K×$BÑ$BØ&¨´·±¸VÐUVÔ1WÐ(XÐYØ  B˜x¬¯©°Q«¸ÀSð %Có %JÑ!ˆW�a˜ñ Ü�M‰MÐsØ˜T 3¨	´3°w³<Ð@ñAô Bà�O‰OÔÜ*¨9Ó5Ð5ð	 øô ×!Ñ!ò 	Ø×!Ñ!Ð%PÒPà"�”Ø×3Ñ3°F¸DÀ)ÓLÕLàûð	ús%   Â1AE ÅFÅ(F
ÆFÆ	F
Æ
F)NNr   )NN)*r   r   r   r!   r2   r7   r$   r%   Úsignalr'   r3   r8   rB   rD   rF   ÚmethodrR   rU   r[   r^   rc   rf   ri   rl   rq   rx   r|   r   r~   rˆ   r™   rŸ   r£   r¨   r¬   r¯   r³   r·   r»   r¾   rO   Ú__classcell__)r5   s   @r   r   r   1   s‚  ø„ ó1ô#ôð
 
‡\�\×ÑÐ(;ÀrÐÓJñ4ó Kð4ð 
‡\�\×ÑÐ(;ÀrÐÓJñ/ó Kð/ð 
‡\�\×ÑÐ(;ÀrÐÓJñ-ó Kð-ð 
‡\�\×ÑÐ(;ÀrÐÓJñ%ó Kð%ð 
‡\�\×ÑÐ(;ÀrÐÓJñ2ó Kð2ð 
‡\�\×ÑÐ,Ø(0ÀVØ&(¸ð ó <òó<ðð
 
‡\�\×ÑÐ,Ø(0ÀVØ&(¸ð ó <ò"ó<ð"ð 
‡\�\×ÑÐ,Ø(0ÀVØ&)¸ð ó =ò8ó=ð8ð
 
‡\�\×ÑÐ,Ø(0ÀVØ&)¸ð ó =ò9ó=ð9ð
 
‡\�\×ÑÐ,Ø(0ÀVØ&)¸ð ó =ò6ó=ð6ð
 
‡\�\×ÑÐ,Ø(0ÀVØ&)¸ð ó =ò7ó=ð7ð
 
‡\�\×ÑÐ,Ø(0ÀVØ&(¸ð ó <ò*ó<ð*ð
 
‡\�\×ÑÐ,Ø(0ÀVØ&(¸ð ó <ò ó<ð ð 
‡\�\×ÑÐ,Ø(0ÀVØ&)¸ð ó =ò4ó=ð4ð
 
‡\�\×ÑÐ,Ø(0ÀVØ&*¸#ð ó ?ò0ó?ð0ð 
‡\�\×ÑÐ,Ø(0ÀVØ&(¸ð ó <ò>ó<ð>ð 
‡\�\×ÑÐ,Ø(0ÀVØ&(¸ð ó <ò!ó<ð!ò
Hò ð* 
‡\�\×ÑÐ,Ø(0ÀVØ&)¸ð ó =ò5ó=ð5ð
 
‡\�\×ÑÐ,Ø(0ÀVØ&)¸ð ó =ò0ó=ð0ð
 
‡\�\×ÑÐ,Ø(0ÀVØ&)¸ð ó =ò0ó=ð0ð
 
‡\�\×ÑÐ,Ø(0ÀVØ&)¸ð ó =ò,ó=ð,ð 
‡\�\×ÑÐ,Ø(0ÀVØ&)¸ð ó =òó=ðð 
‡\�\×ÑÐ,Ø(0ÀVØ&)¸ð ó =ò0ó=ð0ð 
‡\�\×ÑÐ,Ø(0ÀVØ&)¸ð ó >òó>ðð 
‡\�\×ÑÐ,Ø(0ÀVØ&)¸ð ó >òó>ðð 
‡\�\×ÑÐ,Ø(0ÀVØ&)¸ð ó >òó>ðð 
‡\�\×ÑÐ,Ø(0ÀVØ&(¸ð ó =òó=ðö06r   r   )Úgi.repositoryr   Údbus.servicer$   r+   r…   r‚   r   Úaptsources.sourceslistr   Údbus.mainloop.glibr   Ú%softwareproperties.SoftwarePropertiesr   ÚDBUS_BUS_NAMEr)   r'   r   rÊ   r   r%   r(   r   r   r   r   ú<module>rÜ      sn   ðõ* ã Û Û Û Û 
å .å ,Ý Dà/€Ø€	Ø5Ð á ˜TÕ "òôP˜t×1Ñ1ô PôM6˜TŸ\™\×0Ñ0Ð2Dõ M6r   