File: //usr/lib/python3/dist-packages/softwareproperties/__pycache__/cloudarchive.cpython-310.pyc
o
�s�c; � @ s d dl mZ d dlZd dlZd dlmZ d dlmZmZm Z d dl
mZ d dlm
Z
d dlmZ i dd �d
d �dd �dd �d
d�dd�dd�dd�dd�dd�dd�dd�dd�dd�dd�dd�dd�dddddd��Zd Zd!Zd"Zd#d$gZd%d&gZed Zd'ZG d(d)� d)e�ZdS )*� )�print_functionN)�gettext)�ShortcutHandler�ShortcutException�InvalidShortcutException)�SourcesListShortcutHandler)�URIShortcutHandler)�urlparse�folsom�precise�grizzly�havana�icehouse�juno�trusty�kilo�liberty�mitaka�newton�xenial�ocata�pike�queens�rocky�bionic�stein�train�ussuri�victoria�focal�jammy)�wallaby�xena�yoga�zed�antelopezUbuntu Cloud Archivez.https://wiki.ubuntu.com/OpenStack/CloudArchivez0http://ubuntu-cloud.archive.canonical.com/ubuntuz
cloud-archive�uca�updates�proposedzubuntu-cloud-keyringc sj e Zd Z� fdd�Zedd� �Zedd� �Zdd� Zd� fd
d� Zdd
� Z dd� Z
dd� Zdd� Z� Z
S )�CloudArchiveShortcutHandlerc s� t t| �j|fi |�� d | _t| �|�| �|�| �|�f�s)td�| }t |��| j�
� | _d| j | _| j�
� | _| jt
vrKtd�| j }t|��| jtvr[td�| j }t|��t| j }t|t�d�ph|f�}| j|vr�td�| j�� |�� f }t|��t� d| j�� � �| _| jdkr�| jd 7 _| js�| j� d
| j� d| j� �}d�| j�p�d
}| j� dt� d|� d|� �}| �|� d S d S )Nz¬ a valid cloud-archive format: '%s'zcloudarchive-%sz¬ a valid cloud-archive pocket: '%s'znot a valid cloud-archive: '%s'�CA_ALLOW_CODENAMEz)cloud-archive for %s only supported on %sz for OpenStack r( z [proposed]�-�/� �main)�superr) �__init__�caname�any�
_match_uca�
_match_uri�_match_sourceslist�_r �lower� _filebase�pocket�UCA_VALID_POCKETSr �RELEASE_MAP�set�os�getenv�codename�
capitalize�UCA�_description�
_source_entry�join�
components�binary_type�UCA_ARCHIVE�_set_source_entry) �self�shortcut�kwargs�msgr? �
validnames�dist�comps�line�� __class__� �A/usr/lib/python3/dist-packages/softwareproperties/cloudarchive.pyr0 I sB
�
�
�z$CloudArchiveShortcutHandler.__init__c C s | j S �N)rB �rI rS rS rT �descriptionr s z'CloudArchiveShortcutHandler.descriptionc C s t S rU )�WEB_LINKrV rS rS rT �web_linkv s z$CloudArchiveShortcutHandler.web_linkc C s t jdt� ��� dd� d S )Nzapt-get install -y T)�check)�
subprocess�run�UCA_KEYRING_PACKAGE�splitrV rS rS rT �add_keyz s z#CloudArchiveShortcutHandler.add_keyNc s t t| ��� S rU )r/ r) �_encode_filebase)rI �suffixrQ rS rT r` ~ s z,CloudArchiveShortcutHandler._encode_filebasec C sR |� d�\}}}|�� tvrdS |�d�\}}}|sdS || _|p%| jp%t| _dS )N�:Fr+ T)�
rpartitionr7 �UCA_PREFIXES� partitionr1 r9 �UCA_DEFAULT_POCKET)rI rJ �prefixr6 r&