ó
qúªLc           @   s¡   d  d l  Z  d  d l Z d d d „  ƒ  YZ d d d „  ƒ  YZ d „  Z d „  Z d „  Z e d	 k r x e d
 ƒ D] Z e GHqr Wx e ƒ  D] Z e GHq‹ Wn  d S(   iÿÿÿÿNt   Variantc           B   s   e  Z d  „  Z d „  Z RS(   c         C   s   | |  _  | |  _ | |  _ d  S(   N(   t   namet   desct   raw_desc(   t   selfR   R   R   (    (    s8   /usr/lib/python2.7/dist-packages/LanguageSelector/xkb.pyt   __init__   s    		c         C   s   d |  j  |  j |  j f S(   Ns
   %s: %s, %s(   R   R   R   (   R   (    (    s8   /usr/lib/python2.7/dist-packages/LanguageSelector/xkb.pyt   __str__	   s    (   t   __name__t
   __module__R   R   (    (    (    s8   /usr/lib/python2.7/dist-packages/LanguageSelector/xkb.pyR       s   	t   Layoutc           B   s   e  Z d  „  Z d „  Z RS(   c         C   s:   | |  _  | |  _ | |  _ | |  _ | |  _ | |  _ d  S(   N(   R   R   R   t
   short_desct   raw_short_desct   variants(   R   R   R   R   R
   R   R   (    (    s8   /usr/lib/python2.7/dist-packages/LanguageSelector/xkb.pyR      s    					c      
   C   sC   d |  j  |  j |  j |  j |  j g  |  j D] } d | ^ q+ f S(   Ns   %s: %s, %s; %s, %s;; %ss   %s(   R   R   R   R
   R   R   (   R   t   x(    (    s8   /usr/lib/python2.7/dist-packages/LanguageSelector/xkb.pyR      s    (   R   R   R   R   (    (    (    s8   /usr/lib/python2.7/dist-packages/LanguageSelector/xkb.pyR	      s   	c          C   sR   t  ƒ  }  t j d ƒ } | j ƒ  } x' | j d ƒ D] } |  j | j ƒ q4 W|  S(   Ns   /etc/X11/xkb/rules/xorg.xmls;   /xkbConfigRegistry/layoutList/layout/configItem/name/text()(   t   listt   libxml2t	   parseFilet   xpathNewContextt	   xpathEvalt   appendt   content(   t   possibility_listt   doct   ctxtt   i(    (    s8   /usr/lib/python2.7/dist-packages/LanguageSelector/xkb.pyt   get_all_layout_possibilities   s    	c         C   sž   t  ƒ  } |  j d ƒ } x | D]w } t | j d | ƒ ƒ d k r^ | j d | ƒ d } n d } t | j | | j d ƒ d j ƒ } | j | ƒ q W| S(   Ns3   ../../../variantList/variant/configItem/name/text()s   ../description[@xml:lang='%s']i    t    s   ../../description[position()=1](   R   R   t   lenR    R   R   (   t   layout_nodet   langt   variant_listt   variant_nodesR   t   transt   v(    (    s8   /usr/lib/python2.7/dist-packages/LanguageSelector/xkb.pyt   get_variants$   s    	%c         C   s&  t  ƒ  } t j d ƒ } | j ƒ  } | j d ƒ } xì | D]ä } | j |  k r: t | j d |  ƒ ƒ d k rˆ | j d |  ƒ d } n d } t | j d |  ƒ ƒ d k rÇ | j d |  ƒ d } n d } | j t | j | | j d ƒ d j | | j d ƒ d j t	 | |  ƒ ƒ ƒ q: q: W| S(	   Ns   /etc/X11/xkb/rules/xorg.xmls;   /xkbConfigRegistry/layoutList/layout/configItem/name/text()s   ../description[@xml:lang='%s']i    R   s#   ../shortDescription[@xml:lang='%s']s   ../../description[position()=1]s$   ../../shortDescription[position()=1](
   R   R   R   R   R   R   R   R   R	   R"   (   R   t   layout_listR   R   t   layout_nodesR   t   translationt   short_trans(    (    s8   /usr/lib/python2.7/dist-packages/LanguageSelector/xkb.pyt   get_layouts4   s"    	t   __main__t   fr(    (    (	   R   t   sysR    R	   R   R"   R'   R   R   (    (    (    s8   /usr/lib/python2.7/dist-packages/LanguageSelector/xkb.pyt   <module>   s   					