Current File : //usr/lib/python3/dist-packages/softwareproperties/__pycache__/cloudarchive.cpython-312.pyc
�

�gr���ddlZddlZddlmZddlmZmZmZddlm	Z	ddl
mZddlm
Z
idd�d	d�d
d�dd�dd
�dd
�dd
�dd
�dd�dd�dd�dd�dd�dd�dd�dd�dd�dddddddddd�	�Zd Zd!Zd"Zd#d$gZd%d&gZedZd'ZGd(�d)e�Zy)*�N)�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�noble)	�wallaby�xena�yoga�zed�antelope�bobcat�caracal�	dalmatian�epoxyzUbuntu Cloud Archivez.https://wiki.ubuntu.com/OpenStack/CloudArchivez0http://ubuntu-cloud.archive.canonical.com/ubuntuz
cloud-archive�uca�updates�proposedzubuntu-cloud-keyringc�h��eZdZ�fd�Zed��Zed��Zd�Zd
�fd�	Zd�Z	d�Z
d�Zd	�Z�xZ
S)�CloudArchiveShortcutHandlerc���tt|�
|fi|��d|_t	|j|�|j
|�|j|�f�std�|z}t|��|jj�|_d|jz|_|jj�|_|jtvr#td�|jz}t|��|jtvr#td�|jz}t|��t|j}t!|t#j$d�xs|f�}|j&|vrAtd�|jj)�|j)�fz}t|��t*�d|jj)���|_|jdk(r|xj,d	z
c_|j.st|j&�d
|j�d|j��}dj1|j2�xsd
}|j4�dt6�d|�d|��}|j9|�yy)Nz&not a valid cloud-archive format: '%s'zcloudarchive-%sz&not 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�msgrF�
validnames�dist�comps�line�	__class__s
         ��A/usr/lib/python3/dist-packages/softwareproperties/cloudarchive.pyr7z$CloudArchiveShortcutHandler.__init__Ks'���
�)�4�9�(�M�f�M�����D�O�O�H�-��O�O�H�-��+�+�H�5�7�8��=�>��I�C�*�3�/�/��k�k�'�'�)���*�T�[�[�8����k�k�'�'�)����{�{�/�/��=�>����L�C�#�C�(�(��{�{�k�)��6�7�$�+�+�E�C�#�C�(�(��t�{�{�+���(�B�I�I�.A�$B�$N�h�O�P�
��=�=�
�*��@�A��K�K�*�*�,�h�.A�.A�.C�D�E�C�#�C�(�(�"�e�?�4�;�;�3I�3I�3K�2L�M����;�;�*�$�����.���!�!��m�m�_�A�d�k�k�]�!�D�K�K�=�A�D��H�H�T�_�_�-�7��E��&�&�'�q��
�Q�t�f�A�e�W�E�D��"�"�4�(�	"�c��|jS�N)rI�rPs rY�descriptionz'CloudArchiveShortcutHandler.descriptionts��� � � rZc��tSr\)�WEB_LINKr]s rY�web_linkz$CloudArchiveShortcutHandler.web_linkxs���rZc�\�tjdt��j�d��y)Nzapt-get install -y T)�check)�
subprocess�run�UCA_KEYRING_PACKAGE�splitr]s rY�add_keyz#CloudArchiveShortcutHandler.add_key|s$�����,�-@�,A�B�H�H�J�RV�WrZc�(��tt|��Sr\)r6r/�_encode_filebase)rP�suffixrXs  �rYrjz,CloudArchiveShortcutHandler._encode_filebase�s����0�$�H�J�JrZc���|jd�\}}}|j�tvry|jd�\}}}|sy||_|xs|j
xst|_y)N�:Fr2T)�
rpartitionr>�UCA_PREFIXES�	partitionr8r@�UCA_DEFAULT_POCKET)rPrQ�prefixr=r+r8r@s       rYr:z&CloudArchiveShortcutHandler._match_uca�se��#�.�.�s�3����C��|�|�~��-��!�m�m�C�0����F�������A����A�/A���rZc�V�	|jt|��S#t$rYywxYw�NF)�_match_handlerrr�rPrQs  rYr;z&CloudArchiveShortcutHandler._match_uri�s0��	��&�&�'9�(�'C�D�D��'�	��	����	(�(c�V�	|jt|��S#t$rYywxYwrt)rurrrvs  rYr<z.CloudArchiveShortcutHandler._match_sourceslist�s0��	��&�&�'A�(�'K�L�L��'�	��	�rwc���t|j�j�}|jtt�jk7ry|j�j
j
d�\}}}|j
d�\}}}t||f�sy||_|xs|jxst|_	|j|j�j�y)NFr3r2T)
r	�SourceEntry�uri�hostnamerNrUrp�allr8r@rqrOrW)rP�handler�parsedrFr=r8r@s       rYruz*CloudArchiveShortcutHandler._match_handler�s����'�-�-�/�3�3�4���?�?�h�{�3�<�<�<�� '� 3� 3� 5� :� :� D� D�S� I���1�f� (� 2� 2�3� 7���1�f��H�f�%�&������A����A�/A������w�2�2�4�9�9�:�rZr\)�__name__�
__module__�__qualname__r7�propertyr^rarhrjr:r;r<ru�
__classcell__)rXs@rYr/r/JsQ���')�R�!��!�����X�K����rZr/)rDrdrr=�"softwareproperties.shortcuthandlerrrr�softwareproperties.sourceslistr�softwareproperties.urir�urllib.parser	rBrHr`rNrorArqrfr/�rZrY�<module>r�s[��,
�� �J�J�E�5�!���i��
�y��
�i���	�	�
�H���H�
��x��
�h��
�h���X���H��
�h���X���X���X�� 
�h�!�"��#�$��������
�5��8��;��@����'���
�+��&�q�)��,��b�/�brZ