Your IP : 216.73.216.172


Current Path : /lib/python3/dist-packages/uaclient/entitlements/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/uaclient/entitlements/__pycache__/landscape.cpython-38.pyc

U

���h��@s�ddlZddlmZmZmZmZddlmZmZm	Z	m
Z
mZmZddl
mZddlmZmZe�e�e��Ze��ZGdd�de�ZdS)�N)�Any�Dict�Optional�Tuple)�api�event_logger�
exceptions�messages�system�util)�
UAEntitlement)�ApplicabilityStatus�ApplicationStatuscs�eZdZdZejZejZej	j
ZejZ
ed�dd�Zed�dd�Zejed�dd	�Zejed�d
d�Zeeeejfd�dd
�Zeeeejfd��fdd�Zeeeejfd�dd�Zdeee feee feeed��fdd�
Z!�Z"S)�LandscapeEntitlementZ	landscape)�returncCsdS�N����selfrr�A/usr/lib/python3/dist-packages/uaclient/entitlements/landscape.py�enable_stepssz!LandscapeEntitlement.enable_stepscCsdSrrrrrr�
disable_stepssz"LandscapeEntitlement.disable_steps)�progressrc
Cs�dg|j}|��s&d|kr&|dg7}t�d|�|�t�tjj	d�
|�d���ztj||��d�Wnht
jk
r�}zHt�|�|��s�|�d|j���t
j|j��|j��d��WY�d	Sd}~XYnXd
S)N�landscape-config�--silentz
Executing: %r� �Zcommand)Zpipe_stdouterr�info)�stdout�stderrFT)Z
extra_argsZis_interactive�LOG�debugrrZredact_sensitive_logsr	�EXECUTING_COMMAND�format�joinr
�subpr�ProcessExecutionErrorZ	exception�emitr �stripZLandscapeConfigFailedr�rr�cmd�errr�_perform_enables*
��
�z$LandscapeEntitlement._perform_enablec
Cs�ddg}|�tjjd�|�d��zt�|�WnBtjk
rr}z"t	�
|�|�dt|��
��W5d}~XYnX|�dtj�dS)Nrz	--disablerrrT)rr	r#r$r%r
r&rr'r!�errorr(�strr)ZLANDSCAPE_CONFIG_REMAINSr*rrr�_perform_disable3s�
&z%LandscapeEntitlement._perform_disablecCs,|��rt�d�rtjdfStjtjfSdS)Nzlandscape-client)Zare_required_packages_installedr
Zis_systemd_unit_activerZENABLEDZDISABLEDr	ZLANDSCAPE_SERVICE_NOT_ACTIVErrrr�application_statusBs��
�z'LandscapeEntitlement.application_statuscsft���}|dtjkrb|jd�di�}|�dd�}t��j}|j	rb|dk	rb||krbtjt
jfS|S)NrZentitlementZaffordances�series)�super�applicability_statusr
ZINAPPLICABLEZentitlement_cfg�getr
Zget_release_infor2Zaffordance_check_seriesr	ZLANDSCAPE_INAPPLICABLE)rr4Z
affordanceZaffordance_seriesZcurrent_series��	__class__rrr4Ps$

�
����z)LandscapeEntitlement.applicability_statuscCsBt��r>zt�dddg�Wn tjk
r<dtjfYSXdS)Nrz--is-registeredrT)FN)rZwe_are_currently_rootr
r&rr'r	ZLANDSCAPE_NOT_REGISTEREDrrrr�enabled_warning_statuses��
z+LandscapeEntitlement.enabled_warning_statusFT)�orig_access�deltas�allow_enable�verbosercst�j||d|d�S)NF)r;r<)r3�process_contract_deltas)rr9r:r;r<r6rrr=ws	�z,LandscapeEntitlement.process_contract_deltas)FT)#�__name__�
__module__�__qualname__�namer	ZLANDSCAPE_TITLE�titleZLANDSCAPE_DESCRIPTIONZdescriptionZurlsZLANDSCAPE_HOME_PAGEZhelp_doc_urlZLANDSCAPE_HELP_TEXTZ	help_text�intrrrZProgressWrapper�boolr-r0rrrZNamedMessager1r
r4r8rr/rr=�
__classcell__rrr6rrs0����

�r)Zlogging�typingrrrrZuaclientrrrr	r
rZuaclient.entitlements.baserZ(uaclient.entitlements.entitlement_statusr
rZ	getLoggerZreplace_top_level_logger_namer>r!Zget_event_loggerZeventrrrrr�<module>s