o
    Ú€R]  ã                   @   s‚   d dl mZ d dlZG dd„ dƒZG dd„ dƒZdd„ Zd	d
„ Zdd„ Zedkr=edƒD ]Z	e
e	ƒ q,eƒ D ]Z	e
e	ƒ q6dS dS )é    )Úprint_functionNc                   @   ó   e Zd Zdd„ Zdd„ ZdS )ÚVariantc                 C   s   || _ || _|| _d S ©N©ÚnameÚdescÚraw_desc)Úselfr   r   r	   © r   ú6/usr/lib/python3/dist-packages/LanguageSelector/xkb.pyÚ__init__   s   
zVariant.__init__c                 C   s   d| j | j| jf S )Nz
%s: %s, %sr   ©r
   r   r   r   Ú__str__   s   zVariant.__str__N©Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r      s    r   c                   @   r   )ÚLayoutc                 C   s(   || _ || _|| _|| _|| _|| _d S r   ©r   r   r	   Ú
short_descÚraw_short_descÚvariants)r
   r   r   r	   r   r   r   r   r   r   r      s   
zLayout.__init__c                 C   s*   d| j | j| j| j| jdd„ | jD ƒf S )Nz%s: %s, %s; %s, %s;; %sc                 S   s   g | ]}d | ‘qS )z%sr   )Ú.0Úxr   r   r   Ú
<listcomp>   s    z"Layout.__str__.<locals>.<listcomp>r   r   r   r   r   r      s   *zLayout.__str__Nr   r   r   r   r   r      s    r   c                  C   s8   t ƒ } t d¡}| ¡ }| d¡D ]}|  |j¡ q| S )Nú/etc/X11/xkb/rules/xorg.xmlú;/xkbConfigRegistry/layoutList/layout/configItem/name/text())ÚlistÚlibxml2Ú	parseFileÚxpathNewContextÚ	xpathEvalÚappendÚcontent)Zpossibility_listÚdocÚctxtÚir   r   r   Úget_all_layout_possibilities   s   
r(   c                 C   sp   t ƒ }|  d¡}|D ]+}t| d| ¡ƒdkr!| d| ¡d }nd}t|j|| d¡d jƒ}| |¡ q
|S )Nz3../../../variantList/variant/configItem/name/text()ú../description[@xml:lang='%s']r   Ú ú../../description[position()=1])r   r"   Úlenr   r$   r#   )Zlayout_nodeÚlangZvariant_listZvariant_nodesr'   ZtransÚvr   r   r   Úget_variants&   s   
r/   c                 C   sÎ   t ƒ }t d¡}| ¡ }| d¡}|D ]Q}|j| krdt| d|  ¡ƒdkr/| d|  ¡d }nd}t| d|  ¡ƒdkrF| d|  ¡d }nd}| t|j|| d¡d j|| d¡d jt	|| ƒƒ¡ q|S )	Nr   r   r)   r   r*   z#../shortDescription[@xml:lang='%s']r+   z$../../shortDescription[position()=1])
r   r   r    r!   r"   r$   r,   r#   r   r/   )r-   Zlayout_listr%   r&   Zlayout_nodesr'   ÚtranslationZshort_transr   r   r   Úget_layouts6   s&   



ý€r1   Ú__main__Úfr)Z
__future__r   r   r   r   r(   r/   r1   r   r'   Úprintr   r   r   r   Ú<module>   s    	


û