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



]T@svddlZddlZddlZddlZddlZddlZddlZddlmZddddddd	d
ddd
ddddddgZ	ej
jejddZ
ejdejejBZddZddZdNZd(d)eed*DZdd+dd,d&d-iZdOd.d/Zd0d1Zd2d3Zd4d5ZGd6ddZGd7ddeZddd8d9dZiZdddd8dd:dZdddd;dZ ia!ia"d<a#dd=d	Z$dd>d
Z%dd?dZ&d@dZ'dAdZ(dBd
Z)dCdZ*dDdZ+dEdZ,dFdZ-dGdZ.eZ/dS)PN)ENOENTNullTranslationsGNUTranslationsCatalogfindtranslationinstall
textdomainbindtextdomainbind_textdomain_codesetdgettext	dngettextgettextlgettext	ldgettext
ldngettext	lngettextngettextsharelocalea
        (?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)NWHITESPACESINVALIDz invalid token in plural form: %s)refinditer_token_pattern	lastgroupgroup
ValueError)pluralmokindvaluer#,/opt/alt/python35/lib64/python3.5/gettext.py	_tokenizeTs		r%cCs"|rtd|StdSdS)Nz#unexpected token in plural form: %szunexpected end of plural form)r)r"r#r#r$_error_sr&||&&==!=<><=>=+-*/%cCs,i|]"\}}|D]}||qqSr#r#).0iZopsopr#r#r$
<dictcomp>ms	r7orandz//cCs<d}t|}x&|dkr:|d7}t|}qW|dkrt|\}}d||f}|dkrtdnf|dkrd	||f}nGyt|d
}Wn!tk
rt|dYnXd||f}t|}d}x|tkrt|}||kr"P|dkrD|dkrDd|}tj||}t||d\}	}d|||	f}|}qW||kodknrd|}|dkr2|dkr2t|d\}
}|dkrt|t|\}}d|
||f}|dkr2d|}||fS)Nr!znot (z%s(%s))z%unbalanced parenthesis in plural formnz%s%s
z%s%ddz(%s)r8z%s %s %s?r:z%s if %s else %s)rArB)rArB)next_parserintr&_binary_ops	_c2py_opsget)tokenspriorityresultnexttoksubr"jr5r6rightif_trueif_falser#r#r$rFpsP






rFcCsEyt|}Wn.tk
r@td|jjfdYnX|S)Nz'Plural value must be an integer, got %s)round	TypeError	__class____name__)r>r5r#r#r$_as_ints
rXcCst|dkrtdytt|\}}|rKt|d}xU|D]M}|dkr|d7}|dkrtdqX|dkrX|d8}qXWd	ti}td
|||dSWntk
rtdYnXdS)Niz"plural form expression is too longrr<r8z%plural form expression is too complexr=rXzif True:
            def func(n):
                if not isinstance(n, int):
                    n = _as_int(n)
                return int(%s)
            func)lenrrFr%r&rXexecRecursionError)rrMrNdepthcnsr#r#r$c2pys(


rac
Cstj|}d}d	}d
}d}|jd}|dkro||d}|d|}||O}nd}|jd}|dkr||d}|d|}||O}nd}|jd}|dkr||d}|d|}||O}nd}|}	g}
xrt|dD]`}||@s.|	}||@rY||7}||@rm||7}||@r||7}|
j|q.W|
j|
S)Nr8r@r._r8rbrB)r	normalizerrangeappendreverse)
locCOMPONENT_CODESETCOMPONENT_TERRITORYCOMPONENT_MODIFIERmaskposmodifiercodeset	territorylanguageretr5valr#r#r$_expand_langsJ









rvc@seZdZdddZddZddZdd	Zd
dZdd
ZddZ	ddZ
ddZddZddZ
dddZdS)rNcCsAi|_d|_d|_d|_|dk	r=|j|dS)N)_info_charset_output_charset	_fallbackrF)selffpr#r#r$__init__s				zNullTranslations.__init__cCsdS)Nr#)r{r|r#r#r$rFszNullTranslations._parsecCs)|jr|jj|n	||_dS)N)rzadd_fallback)r{fallbackr#r#r$r~s	zNullTranslations.add_fallbackcCs|jr|jj|S|S)N)rzr)r{messager#r#r$r	s	zNullTranslations.gettextcCsE|jr|jj|S|jr2|j|jS|jtjS)N)rzrryencodergetpreferredencoding)r{rr#r#r$rs
		zNullTranslations.lgettextcCs7|jr|jj|||S|dkr/|S|SdS)Nr8)rzr)r{msgid1msgid2r>r#r#r$rs
	zNullTranslations.ngettextcCsf|jr|jj|||S|dkr4|}n|}|jrS|j|jS|jtjS)Nr8)rzrryrrr)r{rrr>tmsgr#r#r$rs			zNullTranslations.lngettextcCs|jS)N)rw)r{r#r#r$info(szNullTranslations.infocCs|jS)N)rx)r{r#r#r$charset+szNullTranslations.charsetcCs|jS)N)ry)r{r#r#r$output_charset.szNullTranslations.output_charsetcCs
||_dS)N)ry)r{rr#r#r$set_output_charset1sz#NullTranslations.set_output_charsetcCsddl}|j|jd<t|drd|krK|jd|jd<d|krg|j|jd<d|kr|j|jd<d|kr|j|jd<dS)Nrre__contains__rrrr)builtinsr__dict__hasattrrrr)r{namesrr#r#r$r4szNullTranslations.install)rW
__module____qualname__r}rFr~rrrrrrrrrr#r#r#r$rsc@sjeZdZdZdZdZddZddZd	d
ZddZ	d
dZ
ddZdS)rl*l$<rr8cCs|d?|d@fS)Nir#)r{versionr#r#r$
_get_versionsJszGNUTranslations._get_versionsc"Cstj}t|dd}i|_}dd|_|j}t|}|d|ddd}||jkr|d|dd	\}}	}
}d
}nO||jkr|d|dd	\}}	}
}d}nt	dd
||j
|\}
}|
|jkr8t	ddt|
|xt
d|	D]}||||
|
d\}}||}|||||d\}}||}||kr||kr|||}|||}nt	dd||dkrd}x|jdD]}|jj}|s8qd}}d|kr|jdd\}}|jj}|j}||j|<|}n|r|j|d|7<|dkr|jdd|_q|dkr|jd}|djdd}t||_qW|jp+d}d|kr|jd\}} |jd}t||}xRt|D]%\}}!t|!||||f<qzWnt|||t||<|
d7}
|d7}qHWdS)NnamercSst|dkS)Nr8)rG)r>r#r#r$<lambda>Usz(GNUTranslations._parse.<locals>.<lambda>z<IrBrz<4IrYz<IIz>4Iz>IIzBad magic numberzBad version number zFile is corrupts
rDr8
zcontent-typezcharset=zplural-forms;zplural=asciis)structunpackgetattr_catalogrreadr[LE_MAGICBE_MAGICOSErrorrVERSIONSstrrgsplitdecodestriplowerrwrxra	enumerate)"r{r|rfilenamecatalogbufbuflenmagicrmsgcount	masteridxtransidxii
major_version
minor_versionr5mlenmoffmendtlentofftendmsgrlastkb_itemitemkvrrrrxr#r#r$rFNsr	
%	%	#
#


	
 
zGNUTranslations._parsecCsut}|jj||}||krI|jrC|jj|S|}|jrb|j|jS|jtjS)N)	objectrrJrzrryrrr)r{rmissingrr#r#r$rs			zGNUTranslations.lgettextcCsy |j||j|f}WnLtk
rn|jrO|jj|||S|dkrd|}n|}YnX|jr|j|jS|jtjS)Nr8)	rrKeyErrorrzrryrrr)r{rrr>rr#r#r$rs 
			zGNUTranslations.lngettextcCsKt}|jj||}||krG|jrC|jj|S|S|S)N)rrrJrzr)r{rrrr#r#r$rs		zGNUTranslations.gettextcCssy |j||j|f}WnLtk
rn|jrO|jj|||S|dkrd|}n|}YnX|S)Nr8)rrrrzr)r{rrr>rr#r#r$rs 
		zGNUTranslations.ngettextN)rr8)rWrrrrrrrFrrrrr#r#r#r$rBsT	FcCs?|dkrt}|dkrvg}x6dD].}tjj|}|r+|jd}Pq+Wd|krv|jdg}x>|D]6}x-t|D]}||kr|j|qWqW|rg}	nd}	xf|D]^}|dkrPtjj||dd|}
tjj	|
r|r3|	j|
q|
SqW|	S)	NLANGUAGELC_ALLLC_MESSAGESLANGrDCz%s.mo)rrrr)
_default_localedirosenvironrJrrhrvpathjoinexists)domain	localedir	languagesallenvarrunelangslangnelangrMmofiler#r#r$rs8


	
cCs|dkrt}t|||dd}|sO|r=tSttd|d}x|D]}|tjj|f}	tj	|	}
|
dkrt
|d}tj|	||}
WdQRXtj|
}
|r|
j
||dkr|
}q\|j|
q\W|S)NrTz$No translation file found for domainrb)rrrrrrrabspath
_translationsrJopen
setdefaultcopyrr~)rrrclass_rrqmofilesrMrkeytr|r#r#r$rs*

	cCs,t||ddd|}|j|dS)NrTrq)rr)rrrqrrr#r#r$rsmessagescCs|dk	r|atS)N)_current_domain)rr#r#r$r	'scCs&|dk	r|t|<tj|tS)N)_localedirsrJr)rrr#r#r$r
.s
cCs#|dk	r|t|<tj|S)N)_localecodesetsrJ)rrqr#r#r$r5s
cCsTy.t|tj|ddtj|}Wntk
rF|SYnX|j|S)Nrq)rrrJrrr)rrrr#r#r$r<s
	cCsotj|}y%t|tj|dd|}Wn+tk
ra|j|pYtjSYnX|j|S)Nrq)	rrJrrrrrrr)rrrqrr#r#r$rDs%
cCsjy.t|tj|ddtj|}Wn&tk
rV|dkrN|S|SYnX|j|||S)Nrqr8)rrrJrrr)rrrr>rr#r#r$r
Ls
	cCstj|}y%t|tj|dd|}WnFtk
r||dkrY|}n|}|j|pttjSYnX|j|||S)Nrqr8)	rrJrrrrrrr)rrrr>rqrrr#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)rrr>r#r#r$riscCstt|||S)N)rr)rrr>r#r#r$rlsr'r(r)r*r+r,r-r.r/r0r1r2r3)rrrrrr)0rriorrrsyserrnor__all__rrbase_prefixrcompileVERBOSEDOTALLrr%r&rHrrIrFrXrarvrrrrrrrrrr	r
rrrr
rrrrrrr#r#r#r$<module>1sZT	1$*K&
Back to Directory File Manager