3
]F                 @   sB  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	Z	d
Z
dZdZdddddgZddiZxe	D ]Zeede < qW ded dded ddZx`e	D ]XZde ed d ej  e	e dee< de ed d ej   e	e deed! < qW G d"d# d#eZd$d% Zd&d' ZdS )(    )print_functionN)gettext)ShortcutExceptionZpreciseZtrustyZxenialZbionic)ZfolsomZgrizzlyZhavanaZicehouseZjunoZkiloZlibertyZmitakaZnewtonZocataZpikeZqueensZrockyZsteinZtrainZussuriz0http://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j d}|j|s8ttd| |t|d  }tj	||}|j
d|i |tkrzttd| || _t| j | _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__P   s$    
z$CloudArchiveShortcutHandler.__init__c             C   s   | j S )N)r   )r   r   r   r   infoi   s    z CloudArchiveShortcutHandler.infoNc             C   sz   |t | j d tjjdfkrDttdt | j d | jj d t | j d d|i }dj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   expandl   s    z"CloudArchiveShortcutHandler.expandc             C   s   dS )NTr   )r   r   r   r   should_confirmw   s    z*CloudArchiveShortcutHandler.should_confirmc             C   s@   t jj }d|d< ytjt|d W n tjk
r:   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_keyz   s    
z#CloudArchiveShortcutHandler.add_key)N)N)__name__
__module____qualname__r   r   r*   r+   r0   r   r   r   r   r
   O   s
   
r
   c             C   s   t jjtjjdd|  S )NzDir::Etc::sourcepartszcloudarchive-%s.list)r#   pathr&   apt_pkgconfigZfind_dir)r   r   r   r   r(      s    
r(   c             C   s"   yt | S  tk
r   d S X d S )N)r
   r   )r   r   r   r   shortcut_handler   s    r7   )Z
__future__r   r5   r#   r.   r   r   Zsoftwareproperties.shortcutsr   ZRELEASE_MAPr'   ZUCAr   r/   r   Z_rr   r%   objectr
   r(   r7   r   r   r   r   <module>   sV   


5