HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/uaclient/entitlements/__pycache__/esm.cpython-310.pyc
o

nHJej�@s�ddlZddlmZmZmZddlmZmZmZddl	m
Z
mZmZddl
mZddlmZddlmZddlmZGd	d
�d
ej�ZGdd�de�ZGd
d�de�ZdS)�N)�Tuple�Type�Union)�gpg�messages�system)�APT_KEYS_DIR�ESM_REPO_FILE_CONTENT�KEYRINGS_DIR)�ESM_APT_ROOTDIR)�repo)�
UAEntitlement)�CanDisableFailurecsbeZdZejjZedee	e
dffdd��Zddedef�fdd�
Z
dd
d�Zddd
�Z�ZS)�ESMBaseEntitlement�return.cCsddlm}m}||fS)Nr)�ROSEntitlement�ROSUpdatesEntitlement)�uaclient.entitlements.rosrr)�selfrr�r�;/usr/lib/python3/dist-packages/uaclient/entitlements/esm.py�dependent_servicessz%ESMBaseEntitlement.dependent_servicesF�silentcs4ddlm}t�j|d�}|r||j�|��|S�Nr)�update_motd_messages)r)�uaclient.timer.update_messagingr�super�_perform_enable�cfg�disable_local_esm_repo)rrr�enable_performed��	__class__rrrs
z"ESMBaseEntitlement._perform_enableNcCs�t��j}|j�d�s
J�|jtd�d�}tj�t	|j
j|jd��}|j}tj�
|�r/dSt�|tj||d��tj�t|�}tj�t	t|�}tjtj�|�dd�t�||�dS)Nzesm-��name)r$�seriesT)�exist_ok)r�get_release_infor%r$�
startswith�len�os�path�normpathr�repo_list_file_tmpl�format�
repo_key_file�exists�
write_filer	�joinr
r�makedirs�dirnamer�export_gpg_key)rr%�esm_name�
repo_filename�keyring_file�source_keyring_file�destination_keyring_filerrr�setup_local_esm_repo!s&
��
�z'ESMBaseEntitlement.setup_local_esm_repocCsJtj�tt|j�}tj�t|jj|jd��}t	�
|�t	�
|�dS)Nr#)r*r+r,rrr/r-r.r$r�ensure_file_absent)rr8r7rrrr<s��
z)ESMBaseEntitlement.disable_local_esm_repo�F)rN)�__name__�
__module__�__qualname__r�urls�
ESM_HOME_PAGE�help_doc_url�propertyrrr
r�boolrr;r�
__classcell__rrr!rrs
	rc�TeZdZdZdZejZejZ	ej
ZdZ	d	de
eedefff�fdd�
Z�ZS)
�ESMAppsEntitlement�
UbuntuESMAppszesm-appszubuntu-pro-esm-apps.gpgFrNc�Dddlm}t�j|d�\}}|r||j�t��r|��||fSr)rrr�disablerr�is_current_series_ltsr;�rrr�disable_performed�failr!rrrKO�
zESMAppsEntitlement.disabler=)r>r?r@�originr$r�ESM_APPS_TITLE�title�ESM_APPS_DESCRIPTION�description�ESM_APPS_HELP_TEXT�	help_textr/rrErrrKrFrrr!rrHG���rHcrG)
�ESMInfraEntitlementz	esm-infra�	UbuntuESMzubuntu-pro-esm-infra.gpgFrNcrJr)rrrrKrr�is_current_series_active_esmr;rMr!rrrKdrPzESMInfraEntitlement.disabler=)r>r?r@r$rQr�ESM_INFRA_TITLErS�ESM_INFRA_DESCRIPTIONrU�ESM_INFRA_HELP_TEXTrWr/rrErrrKrFrrr!rrY\rXrY)r*�typingrrr�uaclientrrr�uaclient.aptrr	r
�uaclient.defaultsr�uaclient.entitlementsr�uaclient.entitlements.baser
�(uaclient.entitlements.entitlement_statusr�RepoEntitlementrrHrYrrrr�<module>s;