ó
‚/Qc           @   sÚ   d  d l  Z  e  j d d e ƒ d  d l Z d  d l Z d  d l Z d  d l m Z d  d l Z d  d l Z d  d l	 Td  d l
 Z
 d e f d „  ƒ  YZ e d k rÖ e d	 d
 ƒ Z e j e j j ƒ  ƒ e j ƒ  GHn  d S(   iÿÿÿÿNt   ignores   apt API not stable yet(   t
   LocaleInfo(   t   *t   LanguageSelectorBasec           B   sP   e  Z d  Z d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(	   s'    base class for language-selector code t    c         C   s+   | |  _  t d |  j  ƒ |  _ d  |  _ d  S(   Nt   languagelist(   t   _datadirR   t   _localeinfot   Nonet   _cache(   t   selft   datadir(    (    sE   /usr/lib/python2.7/dist-packages/LanguageSelector/LanguageSelector.pyt   __init__   s    	c         C   s   t  j |  j | ƒ |  _ d  S(   N(   t	   LangCachet   LanguageSelectorPkgCacheR   R	   (   R
   t   progress(    (    sE   /usr/lib/python2.7/dist-packages/LanguageSelector/LanguageSelector.pyt	   openCache   s    c         C   sv   |  j  r6 t j |  j t j j |  j  d d ƒ ƒ } n t j |  j ƒ } g  } x! | j ƒ  D] } | j | ƒ q[ W| S(   sh   
        return a list of language packs that are not installed
        but should be installed
        t   datat   pkg_depends(	   R   t   language_support_pkgst   LanguageSupportR	   t   ost   patht   joint   missingt   append(   R
   t   lsR   t   pack(    (    sE   /usr/lib/python2.7/dist-packages/LanguageSelector/LanguageSelector.pyt   getMissingLangPacks!   s    	!c         C   sD   t  j ƒ  } | j d d ƒ } t  j | d d ƒ} | j | ƒ d S(   s1    write various LC_* variables (e.g. de_DE.UTF-8) s   com.ubuntu.LanguageSelectort   /t   dbus_interfaceN(   t   dbust	   SystemBust
   get_objectt	   Interfacet   SetSystemDefaultFormatsEnv(   R
   t
   sysFormatst   bust   objt   iface(    (    sE   /usr/lib/python2.7/dist-packages/LanguageSelector/LanguageSelector.pyt   writeSysFormatsSetting0   s    c         C   sD   t  j ƒ  } | j d d ƒ } t  j | d d ƒ} | j | ƒ d S(   s2    write the system "LANGUAGE" and "LANG" variables s   com.ubuntu.LanguageSelectorR   R   N(   R   R    R!   R"   t   SetSystemDefaultLanguageEnv(   R
   t   sysLanguageR%   R&   R'   (    (    sE   /usr/lib/python2.7/dist-packages/LanguageSelector/LanguageSelector.pyt   writeSysLanguageSetting7   s    c         C   s—   t  j ƒ  } | d k r6 t j d t  j d ƒ ƒ d St j ƒ  } | j d d | ƒ } t j | d d ƒ} t	 j
 |  j | ƒ } | j | d	 ƒ d S(
   s1    write various LC_* variables (e.g. de_DE.UTF-8) i    s&   No formats locale saved for user '%s'.t   USERNs   org.freedesktop.Accountss    /org/freedesktop/Accounts/User%iR   s   org.freedesktop.Accounts.Usert	   SYSLOCALE(   R   t   getuidt   warningst   warnt   getenvR   R    R!   R"   t   macrost   LangpackMacrosR   t   SetFormatsLocale(   R
   t   userFormatst   uidR%   R&   R'   t   macr(    (    sE   /usr/lib/python2.7/dist-packages/LanguageSelector/LanguageSelector.pyt   writeUserFormatsSetting>   s    	c         C   s~   t  j ƒ  } | d k r6 t j d t  j d ƒ ƒ d St j ƒ  } | j d d | ƒ } t j | d d ƒ} | j	 | ƒ d S(	   s0    write the user "LANGUAGE" and "LANG" variables i    s    No language saved for user '%s'.R,   Ns   org.freedesktop.Accountss    /org/freedesktop/Accounts/User%iR   s   org.freedesktop.Accounts.User(
   R   R.   R/   R0   R1   R   R    R!   R"   t   SetLanguage(   R
   t   userLanguageR6   R%   R&   R'   (    (    sE   /usr/lib/python2.7/dist-packages/LanguageSelector/LanguageSelector.pyt   writeUserLanguageSettingK   s    	(
   t   __name__t
   __module__t   __doc__R   R   R   R(   R+   R8   R;   (    (    (    sE   /usr/lib/python2.7/dist-packages/LanguageSelector/LanguageSelector.pyR      s   					t   __main__R   s   ..(   R/   t   filterwarningst   FutureWarningt   aptR   R   R   R   R   t   utilsR2   t   objectR   R<   t   lsbR   R   t
   OpProgresst   verifyPackageLists(    (    (    sE   /usr/lib/python2.7/dist-packages/LanguageSelector/LanguageSelector.pyt   <module>   s   
C