
    k!f                         d dl mZ d dlZ G d d      Z G d d      Zd Zd Zd	 Zed
k(  r* ed      D ]
  Z	 e
e	         e       D ]
  Z	 e
e	        yy)    )print_functionNc                       e Zd Zd Zd Zy)Variantc                 .    || _         || _        || _        y Nnamedescraw_desc)selfr	   r
   r   s       6/usr/lib/python3/dist-packages/LanguageSelector/xkb.py__init__zVariant.__init__   s     	 	 (    c                 R    | j                   d| j                  d| j                  S )N: , r   )r   s    r   __str__zVariant.__str__   s    '+yy$))T]]KKr   N__name__
__module____qualname__r   r    r   r   r   r      s    	)
	Lr   r   c                       e Zd Zd Zd Zy)Layoutc                 X    || _         || _        || _        || _        || _        || _        y r   r	   r
   r   
short_descraw_short_descvariants)r   r	   r
   r   r   r   r   s          r   r   zLayout.__init__   s-     	 	 (",&4# (r   c                     | j                   d| j                  d| j                  d| j                  d| j                  d| j
                  D cg c]  }d|z  	 c}S c c}w )Nr   r   z; z;; z%sr   )r   xs     r   r   zLayout.__str__   sv    48IIdiiVZVeVefjfyfy  NR  N[  N[  {\  IJ{  CD  |D  {\  ]  ]  {\s   A!Nr   r   r   r   r   r      s    	)	]r   r   c                      t               } t        j                  d      }|j                         }|j	                  d      D ]  }| j                  |j                          | S )N/etc/X11/xkb/rules/xorg.xml;/xkbConfigRegistry/layoutList/layout/configItem/name/text())listlibxml2	parseFilexpathNewContext	xpathEvalappendcontent)possibility_listdocctxtis       r   get_all_layout_possibilitiesr0      s^    6  =>""$ ]^ 	3A ''		2	3  r   c                 F   t               }| j                  d      }|D ]  }t        |j                  d|z              dkD  r|j                  d|z        d   }nd}t        |j                  ||j                  d      d   j                        }|j                  |        |S )Nz3../../../variantList/variant/configItem/name/text()../description[@xml:lang='%s']r    ../../description[position()=1])r%   r)   lenr   r+   r*   )layout_nodelangvariant_listvariant_nodesr/   transvs          r   get_variantsr<   &   s    v#--.cd 	'Aq{{#Cd#JKLqP !,Lt,S TUV W "AIIuakk:[.\]^._.g.gh##A&	' r   c                 r   t               }t        j                  d      }|j                         }|j	                  d      }|D ]  }|j
                  | k(  st        |j	                  d| z              dkD  r|j	                  d| z        d   }nd}t        |j	                  d| z              dkD  r|j	                  d| z        d   }nd}|j                  t        |j
                  ||j	                  d      d   j
                  ||j	                  d      d   j
                  t        ||                     |S )	Nr#   r$   r2   r   r3   z#../shortDescription[@xml:lang='%s']r4   z$../../shortDescription[position()=1])
r%   r&   r'   r(   r)   r+   r5   r*   r   r<   )r7   layout_listr-   r.   layout_nodesr/   translationshort_transs           r   get_layoutsrB   6   s/   f =>""$~~&cd 	8A99$,Lt,S TUXYY./kk:Z]a:a.bcd.e.0,Lt,S TUXYY./kk:_bf:f.ghi.j.0#**6!)) +Q[[9Z-[\]-^-f-f +Q[[9_-`ab-c-k-k ,Q 5,7 8	8  r   __main__fr)
__future__r   r&   r   r   r0   r<   rB   r   r/   printr   r   r   <module>rG      sw    % L L
] 
]
  2 zT" 	Aa	 ./ 	Aa		 r   