Ë
    GKÕiœ  ã                   óÜ   — d dl Z d dlmZmZmZmZ d dlmZmZm	Z	m
Z
mZmZ d dlmZ d dlmZmZ  e j$                   ej&                  e«      «      Z ej,                  «       Z G d„ de«      Zy)é    N)ÚAnyÚDictÚOptionalÚTuple)ÚapiÚevent_loggerÚ
exceptionsÚmessagesÚsystemÚutil)ÚUAEntitlement)ÚApplicabilityStatusÚApplicationStatusc                   óº  ‡ — e Zd ZdZej
                  Zej                  Zej                  j                  Zej                  Zdefd„Zdefd„Zdej$                  defd„Zdej$                  defd„Zdeeeej2                     f   fd„Zdeeeej2                     f   fˆ fd	„Zdeeeej2                     f   fd
„Z	 	 ddeee f   deee f   dededef
ˆ fd„Z!ˆ xZ"S )ÚLandscapeEntitlementÚ	landscapeÚreturnc                  ó   — y©Né   © ©Úselfs    úA/usr/lib/python3/dist-packages/uaclient/entitlements/landscape.pyÚenable_stepsz!LandscapeEntitlement.enable_steps   ó   € Øó    c                  ó   — yr   r   r   s    r   Údisable_stepsz"LandscapeEntitlement.disable_steps   r   r   Úprogressc           	      óà  — dg| j                   z   }|j                  «       s
d|vr|dgz  }t        j                  d|«       |j	                  t        j                  t        j                  j                  dj                  |«      ¬«      «      «       	 t        j                  ||j                  «        ¬«       y
# t        j                  $ r }t        j                  |«       |j                  «       sq|j!                  d|j"                  j%                  «       «       t        j&                  |j(                  j%                  «       |j"                  j%                  «       ¬«      ‚Y d }~y	d }~ww xY w)Núlandscape-configú--silentzExecuting: %rú ©Úcommand)Úpipe_stdouterrÚinfo)ÚstdoutÚstderrFT)Ú
extra_argsÚis_interactiveÚLOGÚdebugr    r   Úredact_sensitive_logsr
   ÚEXECUTING_COMMANDÚformatÚjoinr   Úsubpr	   ÚProcessExecutionErrorÚ	exceptionÚemitr*   ÚstripÚLandscapeConfigFailedr)   ©r   r    ÚcmdÚes       r   Ú_perform_enablez$LandscapeEntitlement._perform_enable   s  € Ø!Ð" T§_¡_Ñ4ˆØ×&Ñ&Ô(¨Z¸sÑ-BØ�J�<ÑˆCä�	‰	�/ 3Ô'Ø×ÑÜ×&Ñ&Ü×*Ñ*×1Ñ1¸#¿(¹(À3»-Ð1ÓHóô	
ð
		Ü�K‰K˜°×0GÑ0GÓ0IÐ,IÕJð øô ×/Ñ/ò 	Ü�M‰M˜!ÔØ×*Ñ*Ô,Ø—‘˜f a§h¡h§n¡nÓ&6Ô7Ü ×6Ñ6ØŸ8™8Ÿ>™>Ó+°A·H±H·N±NÓ4Dôð ô ûð	ús   Â&B: Â:E-ÃBE(Å(E-c                 ó°  — ddg}|j                  t        j                  j                  dj	                  |«      ¬«      «       	 t        j                  |«       |j                  dt        j                  «       y# t        j                  $ rH}t        j                  |«       |j                  dt        |«      j                  «       «       Y d }~Œwd }~ww xY w)Nr"   z	--disabler$   r%   r(   T)r    r
   r0   r1   r2   r   r3   r	   r4   r-   Úerrorr6   Ústrr7   ÚLANDSCAPE_CONFIG_REMAINSr9   s       r   Ú_perform_disablez%LandscapeEntitlement._perform_disable3   s¡   € Ø! ;Ð/ˆØ×ÑÜ×&Ñ&×-Ñ-°c·h±h¸s³mÐ-ÓDô	
ð	2Ü�K‰K˜Ôð
 	�‰�fœh×?Ñ?Ô@àøô ×/Ñ/ò 	2Ü�I‰I�aŒLØ�M‰M˜&¤# a£&§,¡,£.×1Ñ1ûð	2ús   ÁA: Á:CÂ>CÃCc                 ó°   — | j                  «       r't        j                  d«      rt        j                  d fS t        j
                  t        j                  fS )Nzlandscape-client)Úare_required_packages_installedr   Úis_systemd_unit_activer   ÚENABLEDÚDISABLEDr
   ÚLANDSCAPE_SERVICE_NOT_ACTIVEr   s    r   Úapplication_statusz'LandscapeEntitlement.application_statusB   sN   € ð ×0Ñ0Ô2Ü×-Ñ-Ð.@ÔAä%×-Ñ-¨tÐ4Ð4ô "×*Ñ*Ü×5Ñ5ðð r   c                 óR  •— t         ‰| �  «       }|d   t        j                  k(  r�| j                  d   j                  di «      }|j                  dd «      }t        j                  «       j                  }| j                  r&|�$||vr t        j                  t        j                  fS |S )Nr   ÚentitlementÚaffordancesÚseries)ÚsuperÚapplicability_statusr   ÚINAPPLICABLEÚentitlement_cfgÚgetr   Úget_release_inforL   Úaffordance_check_seriesr
   ÚLANDSCAPE_INAPPLICABLE)r   rN   Ú
affordanceÚaffordance_seriesÚcurrent_seriesÚ	__class__s        €r   rN   z)LandscapeEntitlement.applicability_statusP   s¬   ø€ ô  %™wÑ;Ó=ÐØ Ñ"Ô&9×&FÑ&FÒFØ×-Ñ-¨mÑ<×@Ñ@Ø˜róˆJð !+§¡¨x¸Ó >ÐÜ#×4Ñ4Ó6×=Ñ=ˆNà×,Ò,Ø%Ð1Ø"Ð*;Ñ;ô (×4Ñ4Ü×3Ñ3ðð ð $Ð#r   c                 ó´   — t        j                  «       r	 t        j                  g d¢«       yy# t        j
                  $ r dt        j                  fcY S w xY w)N)r"   z--is-registeredr#   T)FN)r   Úwe_are_currently_rootr   r3   r	   r4   r
   ÚLANDSCAPE_NOT_REGISTEREDr   s    r   Úenabled_warning_statusz+LandscapeEntitlement.enabled_warning_statuse   sV   € ô
 ×%Ñ%Ô'ðÜ—‘ÚGôñ øô ×3Ñ3ò àÜ×5Ñ5ðò ðús   –/ ¯%AÁAÚorig_accessÚdeltasÚallow_enableÚverbosec                 ó*   •— t         ‰| �  ||d|¬«      S )NF)r_   r`   )rM   Úprocess_contract_deltas)r   r]   r^   r_   r`   rX   s        €r   rb   z,LandscapeEntitlement.process_contract_deltasw   s%   ø€ ô ‰wÑ.Ø˜¨e¸Wð /ó 
ð 	
r   )FT)#Ú__name__Ú
__module__Ú__qualname__Únamer
   ÚLANDSCAPE_TITLEÚtitleÚLANDSCAPE_DESCRIPTIONÚdescriptionÚurlsÚLANDSCAPE_HOME_PAGEÚhelp_doc_urlÚLANDSCAPE_HELP_TEXTÚ	help_textÚintr   r   r   ÚProgressWrapperÚboolr<   rA   r   r   r   ÚNamedMessagerH   r   rN   r\   r   r?   r   rb   Ú__classcell__)rX   s   @r   r   r      s<  ø„ Ø€DØ×$Ñ$€EØ×0Ñ0€KØ—=‘=×4Ñ4€LØ×,Ñ,€Ið˜có ð˜só ð¨×(;Ñ(;ð Àó ð.¨×)<Ñ)<ð Àó ðà	Ð  (¨8×+@Ñ+@Ñ"AÐAÑ	Bóð$à	Ð" H¨X×-BÑ-BÑ$CÐCÑ	Dõ$ð*à	ˆt�X˜h×3Ñ3Ñ4Ð4Ñ	5óð, #Øñ
à˜#˜s˜(‘^ð
ð �S˜#�X‘ð
ð ð	
ð
 ð
ð 
÷
ñ 
r   r   )ÚloggingÚtypingr   r   r   r   Úuaclientr   r   r	   r
   r   r   Úuaclient.entitlements.baser   Ú(uaclient.entitlements.entitlement_statusr   r   Ú	getLoggerÚreplace_top_level_logger_namerc   r-   Úget_event_loggerÚeventr   r   r   r   ú<module>r~      s\   ðÛ ß -Ó -ç J× JÝ 4÷ð
 €g×ÑÐ:˜×:Ñ:¸8ÓDÓE€Ø%ˆ×%Ñ%Ó'€ôs
˜=õ s
r   