Your IP : 216.73.216.196


Current Path : /opt/alt/python37/lib64/python3.7/Tools/i18n/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib64/python3.7/Tools/i18n/__pycache__/msgfmt.cpython-37.opt-1.pyc

B

� f��@s�dZddlZddlZddlZddlZddlZddlZddlmZdZ	ia
ddd�Zdd	�Zd
d�Z
dd
�Zdd�Zedkr�e�dS)a�Generate binary message catalog from textual translation description.

This program converts a textual Uniforum-style message catalog (.po file) into
a binary GNU catalog (.mo file).  This is essentially the same function as the
GNU msgfmt program, however, it is a simpler implementation.

Usage: msgfmt.py [OPTIONS] filename.po

Options:
    -o file
    --output-file=file
        Specify the output file to write to.  If omitted, output will go to a
        file named filename.mo (based off the input file name).

    -h
    --help
        Print this message and exit.

    -V
    --version
        Display version information and exit.
�N)�HeaderParserz1.1�cCs.tttjd�|r t|tjd�t�|�dS)N)�file)�print�__doc__�sys�stderr�exit)�code�msg�r�6/opt/alt/python37/lib64/python3.7/Tools/i18n/msgfmt.py�usage)srcCs|s|r|t|<dS)z.Add a non-fuzzy translation to the dictionary.N)�MESSAGES)�id�str�fuzzyrrr
�add1src
Cstt���}g}d}}xN|D]F}|�t|�t|�t|�tt|�f�||d7}|t|d7}qWd}ddt|�}|t|�}g}g}	x4|D],\}
}}}
|||
|g7}|	|
||g7}	q�W||	}t�dddt|�ddt|�d	dd�}|t�d
|���7}||7}||7}|S)zReturn the generated output.��r��ZIiiiiiil�*r��i)	�sortedr�keys�append�len�structZpack�array�tobytes)rZoffsetsZidsZstrsr�outputZkeystartZ
valuestartZkoffsetsZvoffsetsZo1�l1Zo2�l2rrr
�generate9s6
&r$c
Csvd}d}|�d�r|}n|d}|dkr<tj�|�dd}y"t|d��}|��}WdQRXWn:tk
r�}zt|tj	d�t�
d�Wdd}~XYnXd}d}	d}
d}�xP|D�]F}|�|
�}|d7}|dd	kr�||kr�t|
||	�d}d}	|dd�d
k�rd|k�rd}	|dd	k�r"q�|�
d��r�|�
d
��s�||k�rzt|
||	�|
�szt�}|�|�|
����}|�rz|}
|}|dd�}d}
}d}n�|�
d
��r�||k�r�td||ftj	d�t�
d�|dd�}|
d7}
d}n�|�
d��r||}|�
d��rJ|�s*td||ftj	d�t�
d�|�dd�d}|�r||d7}n2|�rptd||ftj	d�t�
d�|dd�}|��}|�s�q�t�|�}||k�r�|
|�|
�7}
q�||k�r�||�|
�7}q�td||fdtj	d�t|tj	d�t�
d�q�W||k�rt|
||	�t�}y$t|d��}|�|�WdQRXWn2tk
�rp}zt|tj	d�Wdd}~XYnXdS)N��z.porz.mo�rb)rzlatin-1�#z#,r�msgidZmsgid_plural�rFz+msgid_plural not preceded by msgid on %s:%d�rT�msgstrzmsgstr[z$plural without msgid_plural on %s:%d�]z,indexed msgstr required for plural on  %s:%d�zSyntax error on %s:%dzbefore:�wb)�endswith�os�path�splitext�open�	readlines�IOErrorrrrr	�decoder�
startswithrZparsestrZget_content_charset�split�strip�astZliteral_eval�encoder$�write)�filename�outfileZIDZSTRZinfile�f�linesrZsectionr�encodingZlno�lr)r,�p�charsetZ	is_pluralr!rrr
�makecs�














rFc
Cs�y&t�tjdd�ddddg�\}}Wn.tjk
rT}ztd|�Wdd}~XYnXd}xL|D]D\}}|dkrztd�q`|dkr�td	t�t�d�q`|d
kr`|}q`W|s�tdtjd�td
tjd�dSx|D]}t	||�q�WdS)Nr%zhVo:�help�versionzoutput-file=)z-hz--helpr)z-Vz	--versionz	msgfmt.py)z-oz
--output-filezNo input file given)rz)Try `msgfmt --help' for more information.)
�getoptr�argv�errorrr�__version__r	rrF)Zopts�argsrr?Zopt�argr>rrr
�main�s(


rO�__main__)r)rr1rr;rIrrZemail.parserrrLrrrr$rFrO�__name__rrrr
�<module>s 
*o