U
    d¡_w  ã                   @   s>  d dl mZ d dlZd dlZd dlZd dlmZ d dlmZ 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dddgZddiZe	D ]Zeede < qŒded dœded dœdœZe	D ]XZde ed d e ¡  e	e dœee< d e ed d!e ¡   e	e dœeed" < qÀG d#d$„ d$eƒZd%d&„ Zd'd(„ ZdS ))é    )Úprint_functionN)Úgettext)ÚShortcutExceptionZpreciseZtrustyZxenialZbionicZfocal)ZfolsomZgrizzlyZhavanaZicehouseZjunoZkiloZlibertyZmitakaZnewtonZocataZpikeZqueensZrockyZsteinZtrainZussuriZvictoriaZwallabyz0http://ubuntu-cloud.archive.canonical.com/ubuntuzUbuntu Cloud Archivez.https://wiki.ubuntu.com/OpenStack/CloudArchivezapt-getz--quietz--assume-yesÚinstallzubuntu-cloud-keyringztools-updatesÚtoolsz
%s-updatesz %(codename)s-updates/cloud-toolsz  for cloud-tools (JuJu and MAAS))ÚsldfmtÚdescriptionz!%(codename)s-proposed/cloud-toolsz+ for cloud-tools (JuJu and MAAS) [proposed])r   ztools-proposedz%(codename)s-updates/z for z
OpenStack )r   r   Úreleasez%(codename)s-proposed/zOpenStack %s [proposed]z	-proposedc                   @   s8   e Zd Zdd„ Zdd„ Zddd„Zdd	„ Zdd
d„ZdS )ÚCloudArchiveShortcutHandlerc                 C   sœ   || _ d}||tt ¡ ƒdœ}| |¡s8ttdƒ| ƒ‚|t|ƒd … }t 	||¡}| 
d|i¡ |tkrzttdƒ| ƒ‚|| _t|  ¡ | _t| jd< d S )Nzcloud-archive:)ÚshortcutÚprefixZca_namesz7shortcut '%(shortcut)s' did not start with '%(prefix)s'Z
input_namezM'%(input_name)s': not a valid cloud-archive name.
Must be one of %(ca_names)sZweb_link)r   ÚsortedÚMAPÚkeysÚ
startswithÚ
ValueErrorÚ_ÚlenÚALIASESÚgetÚupdater   ÚcanameÚcopyÚ_infoÚWEB_LINK)Úselfr   r   ZsubsZname_inr   © r   úA/usr/lib/python3/dist-packages/softwareproperties/cloudarchive.pyÚ__init__R   s.    
ÿ
ÿÿÿÿz$CloudArchiveShortcutHandler.__init__c                 C   s   | j S ©N)r   ©r   r   r   r   Úinfok   s    z CloudArchiveShortcutHandler.infoNc                 C   sz   |t | j d tj d¡fkrDttdƒt | j d | j ¡ dœ ƒ‚t | j d d|i }d dt	|d	f¡}|t
| jƒfS )
Nr	   ZCA_ALLOW_CODENAMEz?cloud-archive for %(os_release)s only supported on %(codename)s)ÚcodenameZ
os_releaser   r"   ú ZdebÚmain)r   r   ÚosÚenvironr   r   r   Ú
capitalizeÚjoinÚMIRRORÚ_fname_for_caname)r   r"   ZdistroZdistÚliner   r   r   Úexpandn   s    
ÿÿÿÿz"CloudArchiveShortcutHandler.expandc                 C   s   dS )NTr   r    r   r   r   Úshould_confirmy   s    z*CloudArchiveShortcutHandler.should_confirmc                 C   sB   t j ¡ }d|d< ztjt|d W n tjk
r<   Y dS X dS )NZnoninteractiveZDEBIAN_FRONTEND)ÚargsÚenvFT)r%   r&   r   Ú
subprocessZ
check_callÚAPT_INSTALL_KEYZCalledProcessError)r   Z	keyserverr/   r   r   r   Úadd_key|   s    
z#CloudArchiveShortcutHandler.add_key)N)N)Ú__name__Ú
__module__Ú__qualname__r   r!   r,   r-   r2   r   r   r   r   r
   Q   s
   
r
   c                 C   s   t j tj d¡d|  ¡S )NzDir::Etc::sourcepartszcloudarchive-%s.list)r%   Úpathr(   Úapt_pkgZconfigZfind_dir)r   r   r   r   r*   †   s    
þr*   c                 C   s&   z
t | ƒW S  tk
r    Y d S X d S r   )r
   r   )r   r   r   r   Úshortcut_handler   s    
r8   )Z
__future__r   r7   r%   r0   r   r   Zsoftwareproperties.shortcutsr   ZRELEASE_MAPr)   ZUCAr   r1   r   Z_rr   r'   Úobjectr
   r*   r8   r   r   r   r   Ú<module>   sh   îÿþþü	ý
ý5