
û•(]é  ã               @   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 d d d d d i 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 <qÜ Wd d d  d! e d" i d# d d$ d! e d% i i Z x~ e	 D]v Z d d& e d! e d' d( e j ƒ  d) e	 e i e e <d d* e d! e d' d+ e j ƒ  d) e	 e i e e d, <q-WGd- d. „  d. e ƒ Z d/ d0 „  Z d1 d2 „  Z d S)3é    )Úprint_functionN)Úgettext)ÚShortcutExceptionZfolsomZpreciseZgrizzlyZhavanaZicehouseZjunoZtrustyZkiloZlibertyZmitakaZnewtonZxenialZocataZpikeZqueensz0http://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-updatesZtoolsz
%s-updatesÚsldfmtz %(codename)s-updates/cloud-toolsZdescriptionz  for cloud-tools (JuJu and MAAS)ztools-proposedz!%(codename)s-proposed/cloud-toolsz+ for cloud-tools (JuJu and MAAS) [proposed]z%(codename)s-updates/z for z
OpenStack Úreleasez%(codename)s-proposed/zOpenStack %s [proposed]z	-proposedc               @   sR   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 } d | d | d t t j ƒ  ƒ i } | j | ƒ sX t t d ƒ | ƒ ‚ | t | ƒ d  … } t j	 | | ƒ } | j
 d | i ƒ | t k rµ t 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__L   s$    		
	
	z$CloudArchiveShortcutHandler.__init__c             C   s   |  j  S)N)r   )r   r   r   r   Úinfoe   s    z CloudArchiveShortcutHandler.infoNc             C   s¨   | t  |  j d t j j d ƒ f k r_ t t d ƒ d t  |  j d d |  j j ƒ  i ƒ ‚ 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   ú ZdebÚmain)r   r   ÚosÚenvironr   r   r   Ú
capitalizeÚjoinÚMIRRORÚ_fname_for_caname)r   r   ZdistroZdistÚliner   r   r   Úexpandh   s    	z"CloudArchiveShortcutHandler.expandc             C   s   d S)NTr   )r   r   r   r   Úshould_confirms   s    z*CloudArchiveShortcutHandler.should_confirmc             C   sS   t  j j ƒ  } d | d <y t j d t d | ƒ Wn t j k
 rN d SYn Xd S)NZnoninteractiveZDEBIAN_FRONTENDÚargsÚenvFT)r!   r"   r   Ú
subprocessZ
check_callÚAPT_INSTALL_KEYZCalledProcessError)r   Z	keyserverr+   r   r   r   Úadd_keyv   s    
	z#CloudArchiveShortcutHandler.add_key)Ú__name__Ú
__module__Ú__qualname__r   r   r(   r)   r.   r   r   r   r   r   K   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  |  ƒ SWn t k
 r& d  SYn Xd  S)N)r   r   )r	   r   r   r   Úshortcut_handler‡   s    r5   )Z
__future__r   r3   r!   r,   r   r   Zsoftwareproperties.shortcutsr   ZRELEASE_MAPr%   ZUCAr   r-   r   Z_rr   r#   Úobjectr   r&   r5   r   r   r   r   Ú<module>   sR   	

5