Edit File: gettext.cpython-38.pyc
U ����@��dj����������������������@���s���d�Z�ddlZddlZddlZddlZddddddd d ddd ddddddddddgZej�ejdd�Z e� dejejB��Z dd��Zdd��ZdZd d!��eed"�D��Zd#d$d%d&�ZdGd(d)�Zd*d+��Zd,d-��Zd.d/��ZG�d0d��d�ZG�d1d��de�ZdHd3d�Zi�Zd4gZdddd2efd5d�Zdedfd6d�Zi�ai�ad7a dId8d �Z!dJd9d �Z"dKd:d�Z#d;d��Z$d<d��Z%d=d ��Z&d>d��Z'd?d��Z(d@d��Z)dAd��Z*dBd��Z+dCd��Z,dDd��Z-dEd��Z.dFd��Z/eZ0dS�)La���Internationalization and localization support. This module provides internationalization (I18N) and localization (L10N) support for your Python programs by providing an interface to the GNU gettext message catalog library. I18N refers to the operation by which a program is made aware of multiple languages. L10N refers to the adaptation of your program, once internationalized, to the local language and cultural habits. �����N�NullTranslations�GNUTranslations�Catalog�find�translation�install� textdomain�bindtextdomain�bind_textdomain_codeset�dgettext� dngettext�gettext�lgettext� ldgettext� ldngettext� lngettext�ngettext�pgettext� dpgettext� npgettext� dnpgettextZshare�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 c�����������������c���sP���t��t|��D�]8}|j}|dkr q|�|�}|dkr>td|���|V��qdV��d�S�)NZWHITESPACESZINVALIDz invalid token in plural form: %s��)�re�finditer�_token_pattern� lastgroup�group� ValueError)�pluralZmoZkind�value��r!����,/opt/alt/python38/lib64/python3.8/gettext.py� _tokenizeW���s���� r#���c�����������������C���s���|�rt�d|���S�t�d�S�d�S�)Nz#unexpected token in plural form: %szunexpected end of plural form)r���)r ���r!���r!���r"����_errorb���s����r$���))�||)�&&)z==z!=)�<�>z<=z>=)�+�-)�*�/�%c�����������������C���s ���i�|�]\}}|D�] }||�qqS�r!���r!���)�.0�iZops�opr!���r!���r"���� <dictcomp>p���s ��������r1��������or�andz//)r%���r&���r,������c�����������������C���s���d}t�|��}|dkr&|d7�}t�|��}q|dkrXt|��\}}d||f�}|dkr�td��nP|dkrnd ||f�}n:zt|d �}W�n�tk r����t|�d��Y�nX�d||f�}t�|��}d}|tk�rt|�}||k�rҐq|d kr�|d kr�d|�}t�||�}t|�|d��\} }d||| f�}|}q�||��k�r4dk�r@n�nd|�}|dk�r�|dk�r�t|�d�\} }|dk�rtt|��t|��\}}d| ||f�}|dk�r�d|�}||fS�)Nr����!znot �(z%s(%s)�)z%unbalanced parenthesis in plural form�nz%s%s� ���z%s%d�d���)��������z(%s)r2���z%s %s %sr=����?r����:z%s if %s else %s)�next�_parser����intr$����_binary_ops� _c2py_ops�get)�tokensZpriority�result�nexttok�subr ����jr/���r0����rightZif_trueZif_falser!���r!���r"���rA���s���sP���� rA���c�����������������C���sZ���zt�|��}W�n(�tk r4���td|�jjf��d��Y�nX�dd�l}|�d|�jjf�td��|�S�)Nz'Plural value must be an integer, got %sr���r=���)�round� TypeError� __class__�__name__�warnings�warn�DeprecationWarning)r9���r/���rP���r!���r!���r"����_as_int����s ���������rS���c�����������������C���s����t�|��dkrtd��z|tt|���\}}|r2t|��d}|D�]6}|dkr`|d7�}|dkrptd��q:|dkr:|d8�}q:d ti}td |�|��|d�W�S��tk r����td��Y�nX�dS�) z�Gets a C expression as used in PO files for plural forms and returns a Python function that implements an equivalent expression. i���z"plural form expression is too longr���r7���r2�������z%plural form expression is too complexr8���rS���z�if True: def func(n): if not isinstance(n, int): n = _as_int(n) return int(%s) �funcN)�lenr���rA���r#���r$���rS����exec�RecursionError)r���rG���rH���Zdepth�c�nsr!���r!���r"����c2py����s.���� �� r[���c����������� ������C���s4��t��|��}�d}d}d}d}|��d�}|dkrN|�|d���}|�d�|��}�||O�}nd}|��d�}|dkr�|�|d���}|�d�|��}�||O�}nd}|��d�}|dkr�|�|d���}|�d�|��}�||O�}nd}|�} g�} t|d��D�]P}||�@�s�| }||@�r�||7�}||@��r ||7�}||@��r||7�}| �|��q�| ����| S�) Nr2�������r=���r����@r����.�_)r���Z normalizer����range�append�reverse) ZlocZCOMPONENT_CODESETZCOMPONENT_TERRITORYZCOMPONENT_MODIFIER�mask�posZmodifier�codesetZ territoryZlanguageZretr/����valr!���r!���r"����_expand_lang����sJ���� � � �rg���c�������������������@���s����e�Zd�Zddd�Zdd��Zdd��Zdd ��Zd d��Zdd ��Zdd��Z dd��Z dd��Zdd��Zdd��Z dd��Zdd��Zddd�ZdS�) r���Nc�����������������C���s.���i�|�_�d�|�_d�|�_d�|�_|d�k r*|��|��d�S��N)�_info�_charset�_output_charset� _fallbackrA�����self�fpr!���r!���r"����__init__����s����zNullTranslations.__init__c�����������������C���s���d�S�rh���r!���rm���r!���r!���r"���rA�����s����zNullTranslations._parsec�����������������C���s���|�j�r|�j��|��n||�_�d�S�rh���)rl����add_fallback)rn����fallbackr!���r!���r"���rq��� ��s����zNullTranslations.add_fallbackc�����������������C���s���|�j�r|�j��|�S�|S�rh���)rl���r ���)rn����messager!���r!���r"���r �����s����zNullTranslations.gettextc�������������� ���C���sr���dd�l�}|�dtd��|�jrR|����(�|�ddt��|�j�|�W��5�Q�R���S�Q�R�X�|�jrd|�|�j�S�|�t � ���S�)Nr����/lgettext() is deprecated, use gettext() insteadr\����ignore�.*\blgettext\b.*)rP���rQ���rR���rl����catch_warnings�filterwarningsr���rk����encoder����getpreferredencoding)rn���rs���rP���r!���r!���r"���r�����s������ �zNullTranslations.lgettextc�����������������C���s*���|�j�r|�j��|||�S�|dkr"|S�|S�d�S��Nr2���)rl���r���)rn����msgid1�msgid2r9���r!���r!���r"���r���"��s ����zNullTranslations.ngettextc�������������� ���C���s����dd�l�}|�dtd��|�jrV|����,�|�ddt��|�j�|||�W��5�Q�R���S�Q�R�X�|dkrd|}n|}|�jrz|�|�j�S�|�t � ���S�)Nr����1lngettext() is deprecated, use ngettext() insteadr\���ru����.*\blngettext\b.*r2���)rP���rQ���rR���rl���rw���rx���r���rk���ry���r���rz����rn���r|���r}���r9���rP����tmsgr!���r!���r"���r���*��s"������ �"zNullTranslations.lngettextc�����������������C���s���|�j�r|�j��||�S�|S�rh���)rl���r���)rn����contextrs���r!���r!���r"���r���;��s����zNullTranslations.pgettextc�����������������C���s,���|�j�r|�j��||||�S�|dkr$|S�|S�d�S�r{���)rl���r���)rn���r����r|���r}���r9���r!���r!���r"���r���@��s ����zNullTranslations.npgettextc�����������������C���s���|�j�S�rh���)ri����rn���r!���r!���r"����infoH��s����zNullTranslations.infoc�����������������C���s���|�j�S�rh���)rj���r����r!���r!���r"����charsetK��s����zNullTranslations.charsetc�����������������C���s���dd�l�}|�dtd��|�jS�)Nr���zoutput_charset() is deprecatedr\����rP���rQ���rR���rk���)rn���rP���r!���r!���r"����output_charsetN��s������zNullTranslations.output_charsetc�����������������C���s ���dd�l�}|�dtd��||�_d�S�)Nr���z"set_output_charset() is deprecatedr\���r����)rn���r����rP���r!���r!���r"����set_output_charsetT��s������z#NullTranslations.set_output_charsetc�����������������C���sR���dd�l�}|�j|jd<�|d�k rNddddddh}|t|�@�D�]}t|�|�|j|<�q8d�S�) Nr���r_���r ���r���r���r���r���r���)�builtinsr ����__dict__�set�getattr)rn����namesr����Zallowed�namer!���r!���r"���r���Z��s�������zNullTranslations.install)N)N)rO���� __module__�__qualname__rp���rA���rq���r ���r���r���r���r���r���r����r����r����r����r���r!���r!���r!���r"���r�������s��� c�������������������@���s\���e�Zd�ZdZdZdZdZdd��Zdd��Zd d ��Z dd��Z d d��Zdd��Zdd��Z dd��ZdS�)r���l����*�l����$<�z%s%s)r���r2���c�����������������C���s���|d?�|d@�fS�)z/Returns a tuple of major version, minor version����i����r!���)rn����versionr!���r!���r"���� _get_versionsp��s����zGNUTranslations._get_versionsc�����������"������C���s���ddl�m}�t|dd�}i��|�_}dd��|�_|���}t|�}|d|dd ���d�}||�jkr||d |d d���\}} } }d}n6||�jkr�|d |d d���\}} } }d}nt dd|��|�� |�\} }| |�jkr�t ddt| ��|��t d| �D��]}|||| | d����\}}||�}|||||d����\}}||�}||k��r`||k��r`|||��}|||��}nt dd|��|dk�rld}|�d�D�]�}|������}|�s��q�|�d��r�|�d��r��q�d�}}d|k�r�|�dd�\}}|������}|���}||�j|<�|}n|�r|�j|��d|�7��<�|dk�r8|�d�d�|�_n0|dk�r�|�d�}|d��d�d�}t|�|�_�q�|�j�pvd}d|k�r�|�d�\}} |�d�}t||�}t|�D�]\}}!t|!|�|||f<��q�nt||�|t||�<�| d7�} |d7�}q�dS�)z8Override this method to support alternative .mo formats.r���)�unpackr����r���c�����������������S���s���t�|�dk�S�r{���)rB���)r9���r!���r!���r"����<lambda>}�������z(GNUTranslations._parse.<locals>.<lambda>z<INr=���z<4IrT���z<IIz>4Iz>IIzBad magic numberzBad version number ����zFile is corrupt���� z #-#-#-#-#r?���r2���� zcontent-typezcharset=zplural-forms�;zplural=�ascii�����)Zstructr����r�����_catalogr����readrV����LE_MAGIC�BE_MAGIC�OSErrorr�����VERSIONS�strr`����split�decode�strip� startswith�endswith�lowerri���rj���r[���� enumerate)"rn���ro���r�����filenameZcatalogZbufZbuflen�magicr����ZmsgcountZ masteridxZtransidxZiiZ major_versionZ minor_versionr/���ZmlenZmoffZmendZtlenZtoffZtend�msgr����ZlastkZb_item�item�k�vr���r����r|���r}����xr!���r!���r"���rA���t��sv���� zGNUTranslations._parsec�����������������C���sh���dd�l�}|�dtd��t��}|�j�||�}||krH|�jrD|�j�|�S�|}|�jrZ|� |�j�S�|� t ����S�)Nr���rt���r\���)rP���rQ���rR����objectr����rE���rl���r���rk���ry���r���rz���)rn���rs���rP����missingr����r!���r!���r"���r������s������zGNUTranslations.lgettextc�����������������C���s����dd�l�}|�dtd��z|�j||��|�f�}W�n@�tk rn���|�jrX|�j�|||��Y�S�|dkrf|}n|}Y�nX�|�jr�|� |�j�S�|� t ����S�)Nr���r~���r\���r2���)rP���rQ���rR���r����r����KeyErrorrl���r���rk���ry���r���rz���r����r!���r!���r"���r������s ������ zGNUTranslations.lngettextc�����������������C���s6���t���}|�j�||�}||kr2|�jr.|�j�|�S�|S�|S�rh���)r����r����rE���rl���r ���)rn���rs���r����r����r!���r!���r"���r ������s����zGNUTranslations.gettextc�����������������C���s^���z|�j�||��|�f�}W�n@�tk rX���|�jrB|�j�|||��Y�S�|dkrP|}n|}Y�nX�|S�r{���)r����r���r����rl���r���)rn���r|���r}���r9���r����r!���r!���r"���r������s���� zGNUTranslations.ngettextc�����������������C���sF���|�j�||f�}t��}|�j�||�}||krB|�jr>|�j�||�S�|S�|S�rh���)�CONTEXTr����r����rE���rl���r���)rn���r����rs����ctxt_msg_idr����r����r!���r!���r"���r�����s����zGNUTranslations.pgettextc�������������� ���C���sn���|�j�||f�}z|�j||��|�f�}W�nB�tk rh���|�jrR|�j�||||��Y�S�|dkr`|}n|}Y�nX�|S�r{���)r����r����r���r����rl���r���)rn���r����r|���r}���r9���r����r����r!���r!���r"���r�����s���� zGNUTranslations.npgettextN)rO���r����r����r����r����r����r����r����rA���r���r���r ���r���r���r���r!���r!���r!���r"���r���d��s���Y Fc�����������������C���s����|d�krt�}|d�krRg�}dD�]"}tj�|�}|r|�d�}�q@qd|krR|�d��g�}|D�]$}t|�D�]}||krf|�|��qfqZ|r�g�} nd�} |D�]J}|dkr��q�tj�||dd|���} tj� | �r�|r�| �| ��q�| ��S�q�| S�)N)ZLANGUAGE�LC_ALL�LC_MESSAGESZLANGr?����Cr����z%s.mo) �_default_localedir�os�environrE���r����ra���rg����path�join�exists)�domain� localedir� languages�allZenvarrf���ZnelangsZlangZnelangrG����mofiler!���r!���r"���r�����s8���� Zunspecifiedc�������������� ���C���s��|d�krt�}t|�||dd�}|sB|r*t��S�ddlm}�t|d|���d�}|D�]�} |tj�| �f} t � | �}|d�kr�t| d��}t �| ||��}W�5�Q�R�X�dd�l } | � |�}|tk r�dd�l}|�dtd��|r�|�����|�d d t��|�|��W�5�Q�R�X�|d�k�r|}qJ|�|��qJ|S�)NT)r����r���)�ENOENTz$No translation file found for domain�rbzparameter codeset is deprecatedr\���ru���z.*\bset_output_charset\b.*)r���r���r����errnor�����FileNotFoundErrorr����r�����abspath� _translationsrE����open� setdefault�copy�_unspecifiedrP���rQ���rR���rw���rx���r����rq���)r����r����r����Zclass_rr���re���Zmofilesr����rG���r�����key�tro���r����rP���r!���r!���r"���r���C��sH������ �� � c�����������������C���s���t�|�|d|d�}|�|��d�S�)NT)rr���re���)r���r���)r����r����re���r����r����r!���r!���r"���r���n��s����Zmessagesc�����������������C���s���|�d�k r|�a�t�S�rh���)�_current_domain)r����r!���r!���r"���r���|��s����c�����������������C���s���|d�k r|t�|�<�t��|�t�S�rh���)�_localedirsrE���r����)r����r����r!���r!���r"���r ������s����c�����������������C���s0���dd�l�}|�dtd��|d�k r&|t|�<�t�|��S�)Nr���z'bind_textdomain_codeset() is deprecatedr\���)rP���rQ���rR����_localecodesetsrE���)r����re���rP���r!���r!���r"���r ������s������c�����������������C���s:���zt�|�t�|�d���}W�n�tk r.���|�Y�S�X�|�|�S�rh���)r���r����rE���r����r ���)r����rs���r����r!���r!���r"���r������s ���� c�������������� ���C���s����dd�l�}|�dtd��t�|��}z<|����*�|�ddt��t|�t�|�d��|d�}W�5�Q�R�X�W�n&�t k r����|� |pzt�����Y�S�X�|����&�|�ddt��|� |�W��5�Q�R���S�Q�R�X�d�S�)Nr���z1ldgettext() is deprecated, use dgettext() insteadr\���ru����.*\bparameter codeset\b.*�re���rv���)rP���rQ���rR���r����rE���rw���rx���r���r����r����ry���r���rz���r���)r����rs���rP���re���r����r!���r!���r"���r������s&������ �$ �c�����������������C���sR���zt�|�t�|�d���}W�n,�tk rB���|dkr6|�Y�S�|�Y�S�Y�nX�|�|||�S�r{���)r���r����rE���r����r���)r����r|���r}���r9���r����r!���r!���r"���r������s����c�������������� ���C���s����dd�l�}|�dtd��t�|��}z<|����*�|�ddt��t|�t�|�d��|d�}W�5�Q�R�X�W�n8�t k r����|dkrz|}n|}|� |p�t�����Y�S�X�|����*�|�ddt��|� |||�W��5�Q�R���S�Q�R�X�d�S�) Nr���z3ldngettext() is deprecated, use dngettext() insteadr\���ru���r����r����r2���r���)rP���rQ���rR���r����rE���rw���rx���r���r����r����ry���r���rz���r���)r����r|���r}���r9���rP���re���r����r����r!���r!���r"���r������s,������ �$ �c�����������������C���s<���zt�|�t�|�d���}W�n�tk r.���|�Y�S�X�|�||�S�rh���)r���r����rE���r����r���)r����r����rs���r����r!���r!���r"���r������s ���� c�����������������C���sT���zt�|�t�|�d���}W�n,�tk rB���|dkr6|�Y�S�|�Y�S�Y�nX�|�||||�S�r{���)r���r����rE���r����r���)r����r����r|���r}���r9���r����r!���r!���r"���r������s����c�����������������C���s ���t�t|��S�rh���)r���r����)rs���r!���r!���r"���r ������s����c�������������� ���C���sN���dd�l�}|�dtd��|����&�|�ddt��tt|��W��5�Q�R���S�Q�R�X�d�S�)Nr���rt���r\���ru���z.*\bldgettext\b.*)rP���rQ���rR���rw���rx���r���r����)rs���rP���r!���r!���r"���r������s������ �c�����������������C���s���t�t|�||�S�rh���)r���r����)r|���r}���r9���r!���r!���r"���r������s����c�������������� ���C���sR���dd�l�}|�dtd��|����*�|�ddt��tt|�||�W��5�Q�R���S�Q�R�X�d�S�)Nr���r~���r\���ru���z.*\bldngettext\b.*)rP���rQ���rR���rw���rx���r���r����)r|���r}���r9���rP���r!���r!���r"���r������s������ �c�����������������C���s���t�t|�|�S�rh���)r���r����)r����rs���r!���r!���r"���r������s����c�����������������C���s���t�t|�|||�S�rh���)r���r����)r����r|���r}���r9���r!���r!���r"���r������s����)r5���)NNF)N)N)N)1�__doc__r���r����r����sys�__all__r����r�����base_prefixr�����compile�VERBOSE�DOTALLr���r#���r$���rC���r����rD���rA���rS���r[���rg���r���r���r���r����r����r���r���r����r����r����r���r ���r ���r���r���r���r���r���r���r ���r���r���r���r���r���r���r!���r!���r!���r"����<module>���s����0�������������� � 1$*f�7 &��� +