ó
Aa¢Rc           @  su  d  d l  m Z d  d l Z d  d l Z d  d l Z d  d l m Z d Z d& Z d	 Z	 d
 Z
 d Z d d d d d g Z i d d 6Z x e D] Z e e d e <q‹ Wi i d d 6e
 d d 6d 6i d d 6e
 d d 6d 6Z xb e D]Z Z i d e d 6e
 d d e d 6e e <i d e d 6e
 d d e d 6e e d  <qâ Wd! e f d" „  ƒ  YZ d# „  Z d$ „  Z d% „  Z d S('   iÿÿÿÿ(   t   print_functionN(   t   gettextt   preciset   folsomt   grizzlyt   havanat   icehouses0   http://ubuntu-cloud.archive.canonical.com/ubuntus   Ubuntu Cloud Archives/   https://wiki.ubuntu.com/ServerTeam/CloudArchives   apt-gets   --quiets   --assume-yest   installs   ubuntu-cloud-keyringt   toolss   tools-updatess
   %s-updatess    %(codename)s-updates/cloud-toolst   sldfmts     for cloud-tools (JuJu and MAAS)t   descriptions!   %(codename)s-proposed/cloud-toolss+    for cloud-tools (JuJu and MAAS) [proposed]s   tools-proposeds   %(codename)s-updates/s    for s
   Openstack s   %(codename)s-proposed/s   Openstack %s [proposed]s	   -proposedt   CloudArchiveShortcutHandlerc           B  s8   e  Z d  „  Z d „  Z d „  Z d „  Z d d „ Z RS(   c         C  sæ   | |  _  d } i | d 6| d 6t t j ƒ  ƒ d 6} | j | ƒ s^ t t d ƒ | ƒ ‚ n  | t | ƒ } t j	 | | ƒ } | j
 i | d 6ƒ | t k r¹ t t d ƒ | ƒ ‚ n  | |  _ t | j ƒ  |  _ t |  j d <d  S(	   Ns   cloud-archive:t   shortcutt   prefixt   ca_namess7   shortcut '%(shortcut)s' did not start with '%(prefix)s't
   input_namesM   '%(input_name)s': not a valid cloud-archive name.
Must be one of %(ca_names)st   web_link(   R   t   sortedt   MAPt   keyst
   startswitht
   ValueErrort   _t   lent   ALIASESt   gett   updatet   ShortcutExceptiont   canamet   copyt   _infot   WEB_LINK(   t   selfR   R   t   subst   name_inR   (    (    sC   /usr/lib/python2.7/dist-packages/softwareproperties/cloudarchive.pyt   __init__<   s$    				c         C  s   |  j  S(   N(   R   (   R    (    (    sC   /usr/lib/python2.7/dist-packages/softwareproperties/cloudarchive.pyt   infoU   s    c         C  sˆ   | t  t j j d ƒ f k r> t t d ƒ i t  d 6ƒ ‚ n  t |  j d i | d 6} d j d t	 | d f ƒ } | t
 |  j ƒ f S(   Nt   CA_ALLOW_CODENAMEs,   cloud-archive only supported on %(codename)st   codenameR	   t    t   debt   main(   t   CODENAMEt   ost   environR   R   R   R   R   t   joint   MIRRORt   _fname_for_caname(   R    R&   t   distt   line(    (    sC   /usr/lib/python2.7/dist-packages/softwareproperties/cloudarchive.pyt   expandX   s    	c         C  s   t  S(   N(   t   True(   R    (    (    sC   /usr/lib/python2.7/dist-packages/softwareproperties/cloudarchive.pyt   should_confirma   s    c         C  sQ   t  j j ƒ  } d | d <y t j d t d | ƒ Wn t j k
 rL } t SXt S(   Nt   noninteractivet   DEBIAN_FRONTENDt   argst   env(	   R+   R,   R   t
   subprocesst
   check_callt   APT_INSTALL_KEYt   CalledProcessErrort   FalseR3   (   R    t	   keyserverR8   t   e(    (    sC   /usr/lib/python2.7/dist-packages/softwareproperties/cloudarchive.pyt   add_keyd   s    
N(   t   __name__t
   __module__R#   R$   R2   R4   t   NoneR@   (    (    (    sC   /usr/lib/python2.7/dist-packages/softwareproperties/cloudarchive.pyR   ;   s
   					c         C  s#   t  j j t j j d ƒ d |  ƒ S(   Ns   Dir::Etc::sourcepartss   cloudarchive-%s.list(   R+   t   pathR-   t   apt_pkgt   configt   find_dir(   R   (    (    sC   /usr/lib/python2.7/dist-packages/softwareproperties/cloudarchive.pyR/   n   s    	c         C  s'   y t  |  ƒ SWn t k
 r" d  SXd  S(   N(   R   R   RC   (   R   (    (    sC   /usr/lib/python2.7/dist-packages/softwareproperties/cloudarchive.pyt   shortcut_handleru   s    c         C  s   d  S(   N(    (   t	   Exception(    (    sC   /usr/lib/python2.7/dist-packages/softwareproperties/cloudarchive.pyR   |   s    (   R   R   R   R   (   t
   __future__R    RE   R+   R9   R   R   R*   t   OS_RELEASESR.   t   UCAR   R;   R   t   _rR   t   objectR   R/   RH   R   (    (    (    sC   /usr/lib/python2.7/dist-packages/softwareproperties/cloudarchive.pyt   <module>   s@   	"3		