Ñò
RüLc           @   s£   d  d k  Z  d  d k Z d d d „  ƒ  YZ d d d „  ƒ  YZ d „  Z d „  Z d „  Z e d	 j o9 x e d
 ƒ D] Z e GHqs 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.6/dist-packages/LanguageSelector/xkb.pyt   __init__   s    		c         C   s   d |  i  |  i |  i f S(   Ns
   %s: %s, %s(   R   R   R   (   R   (    (    s8   /usr/lib/python2.6/dist-packages/LanguageSelector/xkb.pyt   __str__	   s    (   t   __name__t
   __module__R   R   (    (    (    s8   /usr/lib/python2.6/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.6/dist-packages/LanguageSelector/xkb.pyR      s    					c         C   sK   d |  i  |  i |  i |  i |  i g  } |  i D] } | d | q/ ~ f S(   Ns   %s: %s, %s; %s, %s;; %ss   %s(   R   R   R   R
   R   R   (   R   t   _[1]t   x(    (    s8   /usr/lib/python2.6/dist-packages/LanguageSelector/xkb.pyR      s    (   R   R   R   R   (    (    (    s8   /usr/lib/python2.6/dist-packages/LanguageSelector/xkb.pyR	      s   	c          C   sR   t  ƒ  }  t i d ƒ } | i ƒ  } x' | i d ƒ D] } |  i | i ƒ 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.6/dist-packages/LanguageSelector/xkb.pyt   get_all_layout_possibilities   s    	 c         C   s    t  ƒ  } |  i d ƒ } x | D]y } t | i d | ƒ ƒ d j o | i d | ƒ d } n d } t | i | | i d ƒ d i ƒ } | i | ƒ 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.6/dist-packages/LanguageSelector/xkb.pyt   get_variants$   s    	  %c         C   s,  t  ƒ  } t i d ƒ } | i ƒ  } | i d ƒ } xò | D]ê } | i |  j oÔ t | i d |  ƒ ƒ d j o | i d |  ƒ d } n d } t | i d |  ƒ ƒ d j o | i d |  ƒ d } n d } | i t | i | | i d ƒ d i | | i d ƒ d i 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.6/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.6/dist-packages/LanguageSelector/xkb.pyt   <module>   s   				 	
 