§
    ¤åœc  ã                   ó   — d dl Z d dlZd dlmZ d dlmZmZmZ d dlm	Z	 d dl
mZ d dlmZ i dd“d	d“d
d“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“ddddddœ¥ZdZd Zd!Zd"d#gZd$d%gZed          Zd&Z G d'„ d(e¦  «        ZdS ))é    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)ÚwallabyÚxenaÚyogaÚzedÚantelopezUbuntu Cloud Archivez.https://wiki.ubuntu.com/OpenStack/CloudArchivez0http://ubuntu-cloud.archive.canonical.com/ubuntuzcloud-archiveÚucaÚupdatesÚproposedzubuntu-cloud-keyringc                   ót   ‡ — e Zd Zˆ fd„Zed„ ¦   «         Zed„ ¦   «         Zd„ Zdˆ fd„	Zd„ Z	d„ Z
d	„ Zd
„ Zˆ xZS )ÚCloudArchiveShortcutHandlerc                 ó  •—  t          t          | ¦  «        j        |fi |¤Ž d | _        t	          |                      |¦  «        |                      |¦  «        |                      |¦  «        f¦  «        s!t          d¦  «        |z  }t          |¦  «        ‚| j         
                    ¦   «         | _        d| j        z  | _        | j         
                    ¦   «         | _        | j        t          vr&t          d¦  «        | j        z  }t          |¦  «        ‚| j        t          vr&t          d¦  «        | j        z  }t          |¦  «        ‚t          | j                 }t!          |t#          j        d¦  «        p|f¦  «        }| j        |vrLt          d¦  «        | j                             ¦   «         |                     ¦   «         fz  }t          |¦  «        ‚t*          › d| j                             ¦   «         › �| _        | j        dk    r| xj        d	z  c_        | j        sc| j        › d
| j        › d| j        › �}d                     | j        ¦  «        pd}| j        › dt6          › d|› d|› �}|                      |¦  «         d S d S )Nz&not a valid cloud-archive format: '%s'zcloudarchive-%sz&not a valid cloud-archive pocket: '%s'znot 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ÚmsgrA   Ú
validnamesÚdistÚcompsÚlineÚ	__class__s
            €úA/usr/lib/python3/dist-packages/softwareproperties/cloudarchive.pyr2   z$CloudArchiveShortcutHandler.__init__G   s…  ø€ Ø9�Õ)¨4Ñ0Ô0Ô9¸(ÐMÐMÀfÐMÐMÐMØˆŒõ �D—O’O HÑ-Ô-Ø—O’O HÑ-Ô-Ø×+Ò+¨HÑ5Ô5ð7ñ 8ô 8ð 	0õ Ð=Ñ>Ô>ÀÑIˆCÝ*¨3Ñ/Ô/Ð/à”k×'Ò'Ñ)Ô)ˆŒà*¨T¬[Ñ8ˆŒà”k×'Ò'Ñ)Ô)ˆŒØŒ{Õ/Ð/Ð/ÝÐ=Ñ>Ô>ÀÄÑLˆCÝ# CÑ(Ô(Ð(àŒ{�kÐ)Ð)ÝÐ6Ñ7Ô7¸$¼+ÑEˆCÝ# CÑ(Ô(Ð(å˜tœ{Ô+ˆÝ˜(¥B¤IÐ.AÑ$BÔ$BÐ$NÀhÐOÑPÔPˆ
ØŒ= 
Ð*Ð*ÝÐ@ÑAÔAØ”K×*Ò*Ñ,Ô,¨h×.AÒ.AÑ.CÔ.CÐDñEˆCå# CÑ(Ô(Ð(å"ÐMÐM°4´;×3IÒ3IÑ3KÔ3KÐMÐMˆÔØŒ;˜*Ò$Ð$ØÐÔ Ñ.ÐÔàÔ!ð 	)Ø”mÐAÐA d¤kÐAÐA°D´KÐAÐAˆDØ—H’H˜Tœ_Ñ-Ô-Ð7°ˆEØÔ&ÐEÐE­ÐEÐE°tÐEÐE¸eÐEÐEˆDØ×"Ò" 4Ñ(Ô(Ð(Ð(Ð(ð		)ð 	)ó    c                 ó   — | j         S ©N)rD   ©rK   s    rT   Údescriptionz'CloudArchiveShortcutHandler.descriptionp   s   € àÔ Ð rU   c                 ó   — t           S rW   )ÚWEB_LINKrX   s    rT   Úweb_linkz$CloudArchiveShortcutHandler.web_linkt   s   € åˆrU   c                 óf   — t          j        dt          › �                     ¦   «         d¬¦  «         d S )Nzapt-get install -y T)Úcheck)Ú
subprocessÚrunÚUCA_KEYRING_PACKAGEÚsplitrX   s    rT   Úadd_keyz#CloudArchiveShortcutHandler.add_keyx   s4   € åŒÐBÕ-@ÐBÐB×HÒHÑJÔJÐRVÐWÑWÔWÐWÐWÐWrU   Nc                 óR   •— t          t          | ¦  «                             ¦   «         S rW   )r1   r*   Ú_encode_filebase)rK   ÚsuffixrS   s     €rT   re   z,CloudArchiveShortcutHandler._encode_filebase|   s    ø€ åÕ0°$Ñ7Ô7×HÒHÑJÔJÐJrU   c                 óä   — |                      d¦  «        \  }}}|                     ¦   «         t          vrdS |                     d¦  «        \  }}}|sdS || _        |p| j        pt          | _        dS )Nú:Fr-   T)Ú
rpartitionr9   ÚUCA_PREFIXESÚ	partitionr3   r;   ÚUCA_DEFAULT_POCKET)rK   rL   Úprefixr8   r&   r3   r;   s          rT   r5   z&CloudArchiveShortcutHandler._match_uca€   sy   € Ø#×.Ò.¨sÑ3Ô3Ñˆ��CØ�|Š|‰~Œ~¥Ð-Ð-Ø�5à!Ÿmšm¨CÑ0Ô0Ñˆ��FØð 	Ø�5àˆŒØÐA ¤ÐAÕ/AˆŒØˆtrU   c                 ój   — 	 |                       t          |¦  «        ¦  «        S # t          $ r Y dS w xY w©NF)Ú_match_handlerr   r   ©rK   rL   s     rT   r6   z&CloudArchiveShortcutHandler._match_uri�   sF   € ð	Ø×&Ò&Õ'9¸(Ñ'CÔ'CÑDÔDÐDøÝ'ð 	ð 	ð 	Ø�5�5ð	øøøó   ‚!$ ¤
2±2c                 ój   — 	 |                       t          |¦  «        ¦  «        S # t          $ r Y dS w xY wro   )rp   r   r   rq   s     rT   r7   z.CloudArchiveShortcutHandler._match_sourceslist“   sF   € ð	Ø×&Ò&Õ'AÀ(Ñ'KÔ'KÑLÔLÐLøÝ'ð 	ð 	ð 	Ø�5�5ð	øøørr   c                 óâ  — t          |                     ¦   «         j        ¦  «        }|j        t          t          ¦  «        j        k    rdS |                     ¦   «         j                             d¦  «        \  }}}|                     d¦  «        \  }}}t          ||f¦  «        sdS || _        |p| j	        pt          | _	        |                      |                     ¦   «         j        ¦  «         dS )NFr.   r-   T)r	   ÚSourceEntryÚuriÚhostnamerI   rP   rk   Úallr3   r;   rl   rJ   rR   )rK   ÚhandlerÚparsedrA   r8   r3   r;   s          rT   rp   z*CloudArchiveShortcutHandler._match_handler™   sÛ   € Ý˜'×-Ò-Ñ/Ô/Ô3Ñ4Ô4ˆØŒ?�h¥{Ñ3Ô3Ô<Ò<Ð<Ø�5à '× 3Ò 3Ñ 5Ô 5Ô :× DÒ DÀSÑ IÔ IÑˆ�1�fØ (× 2Ò 2°3Ñ 7Ô 7Ñˆ�1�få�H˜fÐ%Ñ&Ô&ð 	Ø�5àˆŒØÐA ¤ÐAÕ/AˆŒà×Ò˜w×2Ò2Ñ4Ô4Ô9Ñ:Ô:Ð:ØˆtrU   rW   )Ú__name__Ú
__module__Ú__qualname__r2   ÚpropertyrY   r\   rc   re   r5   r6   r7   rp   Ú__classcell__)rS   s   @rT   r*   r*   F   sá   ø€ € € € € ð')ð ')ð ')ð ')ð ')ðR ð!ð !ñ „Xð!ð ðð ñ „XððXð Xð XðKð Kð Kð Kð Kð Kðð ð ðð ð ðð ð ðð ð ð ð ð ð rU   r*   )r?   r_   r   r8   Ú"softwareproperties.shortcuthandlerr   r   r   Úsoftwareproperties.sourceslistr   Úsoftwareproperties.urir   Úurllib.parser	   r=   rC   r[   rI   rj   r<   rl   ra   r*   © rU   rT   ú<module>r…      s  ðð, 
€	€	€	Ø Ð Ð Ð à  Ð  Ð  Ð  Ð  Ð  ðJð Jð Jð Jð Jð Jð Jð Jð Jð Jà EÐ EÐ EÐ EÐ EÐ EØ 5Ð 5Ð 5Ð 5Ð 5Ð 5à !Ð !Ð !Ð !Ð !Ð !ðØˆiðàˆyðð ˆiðð �	ð	ð
 ˆHðð ˆHðð ˆxðð ˆhðð ˆhðð ˆXðð ˆHðð ˆhðð ˆXðð ˆXðð ˆXðð  ˆhð!ð" �ð#ð$ ØØØØð-ð ð €ð0 €Ø;€à@€Ø Ð'€Ø 
Ð+Ð Ø& qÔ)Ð à,Ð ðbð bð bð bð b /ñ bô bð bð bð brU   