Your IP : 18.119.124.24


Current Path : /opt/alt/python35/lib64/python3.5/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/__pycache__/gettext.cpython-35.opt-2.pyc



���]T�@svddlZddlZddlZddlZddlZddlZddlZddlmZddddddd	d
ddd
ddddddgZ	ej
jejdd�Z
ejdejejB�Zdd�Zdd�ZdNZd(d)�eed*�D�Zdd+dd,d&d-iZdOd.d/�Zd0d1�Zd2d3�Zd4d5�ZGd6d�d�ZGd7d�de�Zddd8d9d�ZiZdddd8dd:d�Zdddd;d�Z ia!ia"d<a#dd=d	�Z$dd>d
�Z%dd?d�Z&d@d�Z'dAd�Z(dBd
�Z)dCd�Z*dDd�Z+dEd�Z,dFd�Z-dGd�Z.eZ/dS)P�N)�ENOENT�NullTranslations�GNUTranslations�Catalog�find�translation�install�
textdomain�bindtextdomain�bind_textdomain_codeset�dgettext�	dngettext�gettext�lgettext�	ldgettext�
ldngettext�	lngettext�ngettextZshare�localea�
        (?P<WHITESPACES>[ \t]+)                    | # spaces and horizontal tabs
        (?P<NUMBER>[0-9]+\b)                       | # decimal integer
        (?P<NAME>n\b)                              | # only n is allowed
        (?P<PARENTHESIS>[()])                      |
        (?P<OPERATOR>[-*/%+?:]|[><!]=?|==|&&|\|\|) | # !, *, /, %, +, -, <, >,
                                                     # <=, >=, ==, !=, &&, ||,
                                                     # ? :
                                                     # unary and bitwise ops
                                                     # not allowed
        (?P<INVALID>\w+|.)                           # invalid token
    ccsnxbtjt|�D]N}|j}|dkr1q|j|�}|dkr\td|��|VqWdVdS)N�WHITESPACES�INVALIDz invalid token in plural form: %s�)�re�finditer�_token_pattern�	lastgroup�group�
ValueError)�plural�mo�kind�value�r"�,/opt/alt/python35/lib64/python3.5/gettext.py�	_tokenizeTs		r$cCs"|rtd|�Std�SdS)Nz#unexpected token in plural form: %szunexpected end of plural form)r)r!r"r"r#�_error_sr%�||�&&�==�!=�<�>�<=�>=�+�-�*�/�%cCs,i|]"\}}|D]}||�qqSr"r")�.0�iZops�opr"r"r#�
<dictcomp>ms	r6��or�andz//cCs<d}t|�}x&|dkr:|d7}t|�}qW|dkr�t|�\}}d||f}|dkr�td��nf|dkr�d	||f}nGyt|d
�}Wn!tk
r�t|�d�YnXd||f}t|�}d}x�|tkr�t|}||kr"P|dkrD|dkrDd|}tj||�}t||d�\}	}d|||	f}|}q�W||ko�dknr�d|}|dkr2|dkr2t|d�\}
}|dkr�t|��t|�\}}d|
||f}|dkr2d|}||fS)Nr�!znot �(z%s(%s)�)z%unbalanced parenthesis in plural form�nz%s%s�
z%s%d�d��z(%s)r7z%s %s %s�?r�:z%s if %s else %s)r@rA)r@rA)�next�_parser�intr%�_binary_ops�	_c2py_ops�get)�tokens�priority�result�nexttok�subr!�jr4r5�right�if_true�if_falser"r"r#rEpsP






rEcCsEyt|�}Wn.tk
r@td|jjf�d�YnX|S)Nz'Plural value must be an integer, got %s)�round�	TypeError�	__class__�__name__)r=r4r"r"r#�_as_int�s
rWcCs�t|�dkrtd��y�tt|��\}}|rKt|��d}xU|D]M}|dkr�|d7}|dkr�td��qX|dkrX|d8}qXWd	ti}td
||�|dSWntk
r�td��YnXdS)Ni�z"plural form expression is too longrr;r7�z%plural form expression is too complexr<rWz�if True:
            def func(n):
                if not isinstance(n, int):
                    n = _as_int(n)
                return int(%s)
            �func)�lenrrEr$r%rW�exec�RecursionError)rrLrM�depth�c�nsr"r"r#�c2py�s(


r`c
Cs�tj|�}d}d	}d
}d}|jd�}|dkro||d�}|d|�}||O}nd}|jd�}|dkr�||d�}|d|�}||O}nd}|jd�}|dkr||d�}|d|�}||O}nd}|}	g}
xrt|d�D]`}||@s.|	}||@rY||7}||@rm||7}||@r�||7}|
j|�q.W|
j�|
S)Nr7r��@r�.�_r7rarA)r�	normalizer�range�append�reverse)
�loc�COMPONENT_CODESET�COMPONENT_TERRITORY�COMPONENT_MODIFIER�mask�pos�modifier�codeset�	territory�language�retr4�valr"r"r#�_expand_lang�sJ









ruc@s�eZdZddd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
ddd�ZdS)rNcCsAi|_d|_d|_d|_|dk	r=|j|�dS)N)�_info�_charset�_output_charset�	_fallbackrE)�self�fpr"r"r#�__init__�s				zNullTranslations.__init__cCsdS)Nr")rzr{r"r"r#rEszNullTranslations._parsecCs)|jr|jj|�n	||_dS)N)ry�add_fallback)rz�fallbackr"r"r#r}s	zNullTranslations.add_fallbackcCs|jr|jj|�S|S)N)ryr)rz�messager"r"r#r	s	zNullTranslations.gettextcCsE|jr|jj|�S|jr2|j|j�S|jtj��S)N)ryrrx�encoder�getpreferredencoding)rzrr"r"r#rs
		zNullTranslations.lgettextcCs7|jr|jj|||�S|dkr/|S|SdS)Nr7)ryr)rz�msgid1�msgid2r=r"r"r#rs
	zNullTranslations.ngettextcCsf|jr|jj|||�S|dkr4|}n|}|jrS|j|j�S|jtj��S)Nr7)ryrrxr�rr�)rzr�r�r=�tmsgr"r"r#rs			zNullTranslations.lngettextcCs|jS)N)rv)rzr"r"r#�info(szNullTranslations.infocCs|jS)N)rw)rzr"r"r#�charset+szNullTranslations.charsetcCs|jS)N)rx)rzr"r"r#�output_charset.szNullTranslations.output_charsetcCs
||_dS)N)rx)rzr�r"r"r#�set_output_charset1sz#NullTranslations.set_output_charsetcCs�ddl}|j|jd<t|d�r�d|krK|jd|jd<d|krg|j|jd<d|kr�|j|jd<d|kr�|j|jd<dS)Nrrd�__contains__rrrr)�builtinsr�__dict__�hasattrrrr)rz�namesr�r"r"r#r4szNullTranslations.install)rV�
__module__�__qualname__r|rEr}rrrrr�r�r�r�rr"r"r"r#r�sc@sjeZdZdZdZdZdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dd�ZdS)rl�*l�$<rr7cCs|d?|d@fS)N�i��r")rz�versionr"r"r#�
_get_versionsJszGNUTranslations._get_versionsc"Cs�tj}t|dd�}i|_}dd�|_|j�}t|�}|d|dd��d}||jkr�|d|dd	��\}}	}
}d
}nO||jkr�|d|dd	��\}}	}
}d}nt	dd
|��|j
|�\}
}|
|jkr8t	ddt|
�|��x�t
d|	�D]�}||||
|
d��\}}||}|||||d��\}}||}||kr�||kr�|||�}|||�}nt	dd|��|dkrd}x|jd�D]}|j�j�}|s8qd}}d|kr�|jdd�\}}|j�j�}|j�}||j|<|}n|r�|j|d|7<|dkr�|jd�d|_q|dkr|jd�}|djd�d}t|�|_qW|jp+d}d|kr�|jd�\}} |jd�}t||�}xRt|�D]%\}}!t|!|�|||f<qzWnt||�|t||�<|
d7}
|d7}qHWdS)N�namercSst|dk�S)Nr7)rF)r=r"r"r#�<lambda>Usz(GNUTranslations._parse.<locals>.<lambda>z<IrArz<4IrXz<IIz>4Iz>IIzBad magic numberzBad version number �zFile is corrupts
rCr7�
zcontent-typezcharset=zplural-forms�;zplural=�asciis)�struct�unpack�getattr�_catalogr�readrZ�LE_MAGIC�BE_MAGIC�OSErrorr��VERSIONS�strrf�split�decode�strip�lowerrvrwr`�	enumerate)"rzr{r��filename�catalog�buf�buflen�magicr��msgcount�	masteridx�transidx�ii�
major_version�
minor_versionr4�mlen�moff�mend�tlen�toff�tend�msgr��lastk�b_item�item�k�vrr�r�r��xr"r"r#rENsr	
%	%	#
#


	
 
zGNUTranslations._parsecCsut�}|jj||�}||krI|jrC|jj|�S|}|jrb|j|j�S|jtj��S)N)	�objectr�rIryrrxr�rr�)rzr�missingr�r"r"r#r�s			zGNUTranslations.lgettextcCs�y |j||j|�f}WnLtk
rn|jrO|jj|||�S|dkrd|}n|}YnX|jr�|j|j�S|jtj��S)Nr7)	r�r�KeyErrorryrrxr�rr�)rzr�r�r=r�r"r"r#r�s 
			zGNUTranslations.lngettextcCsKt�}|jj||�}||krG|jrC|jj|�S|S|S)N)r�r�rIryr)rzrr�r�r"r"r#r�s		zGNUTranslations.gettextcCssy |j||j|�f}WnLtk
rn|jrO|jj|||�S|dkrd|}n|}YnX|S)Nr7)r�rr�ryr)rzr�r�r=r�r"r"r#r�s 
		zGNUTranslations.ngettextN)rr7)rVr�r�r�r�r�r�rErrrrr"r"r"r#rBsT	FcCs?|dkrt}|dkrvg}x6dD].}tjj|�}|r+|jd�}Pq+Wd|krv|jd�g}x>|D]6}x-t|�D]}||kr�|j|�q�Wq�W|r�g}	nd}	xf|D]^}|dkr�Ptjj||dd|�}
tjj	|
�r�|r3|	j|
�q�|
Sq�W|	S)	N�LANGUAGE�LC_ALL�LC_MESSAGES�LANGrC�Cz%s.mo)r�r�r�r�)
�_default_localedir�os�environrIr�rgru�path�join�exists)�domain�	localedir�	languages�all�envarrt�nelangs�lang�nelangrL�mofiler"r"r#r�s8


	
cCs|dkrt}t|||dd�}|sO|r=t�Sttd|��d}x�|D]�}|tjj|�f}	tj	|	�}
|
dkr�t
|d��}tj|	||��}
WdQRXtj|
�}
|r�|
j
|�|dkr�|
}q\|j|
�q\W|S)Nr�Tz$No translation file found for domain�rb)rrrr�rr�r��abspath�
_translationsrI�open�
setdefault�copyr�r})r�r�r��class_r~rp�mofilesrLr��key�tr{r"r"r#r�s*

	cCs,t||ddd|�}|j|�dS)Nr~Trp)rr)r�r�rpr�r�r"r"r#rs�messagescCs|dk	r|atS)N)�_current_domain)r�r"r"r#r	'scCs&|dk	r|t|<tj|t�S)N)�_localedirsrIr�)r�r�r"r"r#r
.s
cCs#|dk	r|t|<tj|�S)N)�_localecodesetsrI)r�rpr"r"r#r5s
cCsTy.t|tj|d�dtj|��}Wntk
rF|SYnX|j|�S)Nrp)rr�rIr�r�r)r�rr�r"r"r#r<s
	cCsotj|�}y%t|tj|d�d|�}Wn+tk
ra|j|pYtj��SYnX|j|�S)Nrp)	r�rIrr�r�r�rr�r)r�rrpr�r"r"r#rDs%
cCsjy.t|tj|d�dtj|��}Wn&tk
rV|dkrN|S|SYnX|j|||�S)Nrpr7)rr�rIr�r�r)r�r�r�r=r�r"r"r#r
Ls
	cCs�tj|�}y%t|tj|d�d|�}WnFtk
r||dkrY|}n|}|j|pttj��SYnX|j|||�S)Nrpr7)	r�rIrr�r�r�rr�r)r�r�r�r=rpr�r�r"r"r#rWs%
	cCs
tt|�S)N)rr�)rr"r"r#rcscCs
tt|�S)N)rr�)rr"r"r#rfscCstt|||�S)N)r
r�)r�r�r=r"r"r#riscCstt|||�S)N)rr�)r�r�r=r"r"r#rls�r&�r'�r(r)�r*r+r,r-�r.r/�r0r1r2)r�r�r�r�r�r����)0rr��ior�rr��sys�errnor�__all__r�r��base_prefixr��compile�VERBOSE�DOTALLrr$r%rGr�rHrErWr`rurrrr�rrr�r�r�r	r
rrrr
rrrrrrr"r"r"r#�<module>1sZT	1$*K�&

?>