Ë
    ¸|fB  ã            	       ó  — 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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y))é    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ÚantelopeÚbobcatÚcaracalzUbuntu Cloud Archivez.https://wiki.ubuntu.com/OpenStack/CloudArchivez0http://ubuntu-cloud.archive.canonical.com/ubuntuzcloud-archiveÚucaÚupdatesÚproposedzubuntu-cloud-keyringc                   óh   ‡ — 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        | �
  |fi |¤Ž d | _        t	        | j                  |«      | j                  |«      | j                  |«      f«      st        d«      |z  }t        |«      ‚| j                  j                  «       | _        d| j                  z  | _        | j                  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«      xs |f«      }| j&                  |vrAt        d«      | j                  j)                  «       |j)                  «       fz  }t        |«      ‚t*        › d| j                  j)                  «       › �| _        | j                  dk(  r| xj,                  d	z  c_        | j.                  st| j&                  › d
| j                  › d| j                  › �}dj1                  | j2                  «      xs d}| j4                  › dt6        › d|› d|› �}| j9                  |«       y y )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ÚmsgrC   Ú
validnamesÚdistÚcompsÚlineÚ	__class__s
            €úA/usr/lib/python3/dist-packages/softwareproperties/cloudarchive.pyr4   z$CloudArchiveShortcutHandler.__init__I   s'  ø€ ÜÔ)¨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                 ó   — | j                   S ©N)rF   ©rM   s    rV   Údescriptionz'CloudArchiveShortcutHandler.descriptionr   s   € à× Ñ Ð rW   c                 ó   — t         S rY   )ÚWEB_LINKrZ   s    rV   Úweb_linkz$CloudArchiveShortcutHandler.web_linkv   s   € äˆrW   c                 ó\   — t        j                  dt        › �j                  «       d¬«       y )Nzapt-get install -y T)Úcheck)Ú
subprocessÚrunÚUCA_KEYRING_PACKAGEÚsplitrZ   s    rV   Úadd_keyz#CloudArchiveShortcutHandler.add_keyz   s$   € ä�‰Ð,Ô-@Ð,AÐB×HÑHÓJÐRVÖWrW   c                 ó(   •— t         t        | �  «       S rY   )r3   r,   Ú_encode_filebase)rM   ÚsuffixrU   s     €rV   rg   z,CloudArchiveShortcutHandler._encode_filebase~   s   ø€ äÔ0°$ÑHÓJÐJrW   c                 óÔ   — |j                  d«      \  }}}|j                  «       t        vry|j                  d«      \  }}}|sy|| _        |xs | j
                  xs t        | _        y)Nú:Fr/   T)Ú
rpartitionr;   ÚUCA_PREFIXESÚ	partitionr5   r=   ÚUCA_DEFAULT_POCKET)rM   rN   Úprefixr:   r(   r5   r=   s          rV   r7   z&CloudArchiveShortcutHandler._match_uca‚   se   € Ø#×.Ñ.¨sÓ3Ñˆ��CØ�|‰|‹~¤Ñ-Øà!Ÿm™m¨CÓ0Ñˆ��FÙØàˆŒØÒA §¡ÒAÔ/AˆŒØrW   c                 óV   — 	 | j                  t        |«      «      S # t        $ r Y yw xY w©NF)Ú_match_handlerr   r   ©rM   rN   s     rV   r8   z&CloudArchiveShortcutHandler._match_uri�   s0   € ð	Ø×&Ñ&Ô'9¸(Ó'CÓDÐDøÜ'ò 	Ùð	úó   ‚ œ	(§(c                 óV   — 	 | j                  t        |«      «      S # t        $ r Y yw xY wrq   )rr   r   r   rs   s     rV   r9   z.CloudArchiveShortcutHandler._match_sourceslist•   s0   € ð	Ø×&Ñ&Ô'AÀ(Ó'KÓLÐLøÜ'ò 	Ùð	úrt   c                 óÒ  — t        |j                  «       j                  «      }|j                  t        t        «      j                  k7  ry|j                  «       j
                  j                  d«      \  }}}|j                  d«      \  }}}t        ||f«      sy|| _        |xs | j                  xs t        | _	        | j                  |j                  «       j                  «       y)NFr0   r/   T)r	   ÚSourceEntryÚuriÚhostnamerK   rR   rm   Úallr5   r=   rn   rL   rT   )rM   ÚhandlerÚparsedrC   r:   r5   r=   s          rV   rr   z*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Ô:ØrW   rY   )Ú__name__Ú
__module__Ú__qualname__r4   Úpropertyr[   r^   re   rg   r7   r8   r9   rr   Ú__classcell__)rU   s   @rV   r,   r,   H   sQ   ø„ ô')ðR ñ!ó ð!ð ñó ðòXõKòòòörW   r,   )rA   ra   r   r:   Ú"softwareproperties.shortcuthandlerr   r   r   Úsoftwareproperties.sourceslistr   Úsoftwareproperties.urir   Úurllib.parser	   r?   rE   r]   rK   rl   r>   rn   rc   r,   © rW   rV   ú<module>r‡      sU  ðó, 
Û å  ÷Jñ Jå EÝ 5å !ðØˆiðàˆyðð ˆiðð �	ð	ð
 ˆHðð ˆHðð ˆxðð ˆhðð ˆhðð ˆXðð ˆHðð ˆhðð ˆXðð ˆXðð ˆXðð  ˆhð!ð" �ð#ð$ ØØØØØØò1€ð4 €Ø;€à@€Ø Ð'€Ø 
Ð+Ð Ø& qÑ)Ð à,Ð ôb /õ brW   