File: //proc/self/root/lib/python3/dist-packages/uaclient/entitlements/__pycache__/esm.cpython-38.pyc
U
��Jh� � @ s� d dl Z d dlmZmZmZ d dlmZmZmZ d dl m
Z
mZmZ d dl
mZ d dlmZ d dlmZ d dlmZ d d lmZ G d
d� dej�ZG dd
� d
e�ZG dd� de�ZdS )� N)�Tuple�Type�Union)�api�messages�system)�APT_KEYS_DIR�DEB822_REPO_FILE_CONTENT�KEYRINGS_DIR)�ESM_APT_ROOTDIR)�repo)�
UAEntitlement)�CanDisableFailure)�set_filename_extensionc sl e Zd ZejjZdZee e
e df d�dd��Ze
jed�� fdd�Zd d�d
d�Zd d�dd
�Z� ZS )�ESMBaseEntitlementT.)�returnc C s ddl m}m} ||fS )Nr )�ROSEntitlement�ROSUpdatesEntitlement)Zuaclient.entitlements.rosr r )�selfr r � r �;/usr/lib/python3/dist-packages/uaclient/entitlements/esm.py�dependent_services s z%ESMBaseEntitlement.dependent_services��progressr c s2 ddl m} t� �|�}|r.|| j� | �� |S �Nr )�update_motd_messages)�uaclient.timer.update_messagingr �super�_perform_enable�cfg�disable_local_esm_repo)r r r Zenable_performed�� __class__r r r s
z"ESMBaseEntitlement._perform_enableNc
C s� t �� j}| j�d�st�| jtd�d � }ttj �
t| j �d�}ttj �
t| j �d�}tj �
|�sttj �
|�rxd S dj|d�}dj||d�}t �|tj||t| jdd �� d S )
Nzesm-�sources�listz$https://esm.ubuntu.com/{name}/ubuntu)�namez0{series}-{name}-security {series}-{name}-updates)�seriesr% � )Zurl�suitesZkeyrings_dir�keyring_fileZdeb_src)r Zget_release_infor&