MINI MINI MANI MO

Path : /lib64/python2.7/
File Upload :
Current File : //lib64/python2.7/gettext.pyo


C]c@sdZddlZddlZddlZddlZddlZddlZddlmZdddddd	d
ddd
ddgZ	ej
jejddZ
dZdZdZdd'dYZdefdYZddddZiZdddeddZdedddZiaiadaddZddZddZdZd Z d!Z!d"Z"d#Z#d$Z$d%Z%d&Z&eZ'dS((sInternationalization 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.

iN(tENOENTtNullTranslationstGNUTranslationstCatalogtfindttranslationtinstallt
textdomaintbindtextdomaintdgettextt	dngettexttgettexttngettexttsharetlocalecCs|r
|S|SdS(sy
    Implements the C expression:

      condition ? true : false

    Required to correctly interpret plural forms.
    N((t	conditionttruetfalse((s/usr/lib64/python2.7/gettext.pyttest=sc
syddlm}Wn!tk
r7ddlm}nXddl}ddl}|j||j}y@g|D]/}|d|jkrr|ddkrr|^qr}Wn|jk
rt	dnX|rt	dn|j
d	d
}|j
dd}tjd
j
d|}tjdfddg}x|D]}|dkrr|jdqP|dkrt|dkrt	dnj
|j}	|dcd|	7<qP|dc|7<qPWj
|j}td|S(sGets a C expression as used in PO files for plural forms and returns a
    Python lambda function that implements an equivalent expression.
    i(tStringIONiitns;plural forms expression error, maybe unbalanced parenthesiss*plural forms expression could be dangerouss&&s and s||s or s\!([^=])s not \1s(.*?)\?(.*?):(.*)cs8d|jd|jdj|jdfS(Nstest(%s, %s, %s)iii(tgrouptsub(tx(texprtrepl(s/usr/lib64/python2.7/gettext.pyRistt(t)s%unbalanced parenthesis in plural forms(%s)slambda n: int(%s)(t	cStringIORtImportErrorttokenttokenizetgenerate_tokenstreadlinetNAMEt
TokenErrort
ValueErrortreplacetretcompileRtappendtlentpopteval(
tpluralRRR ttokensRtdangertstacktcts((RRs/usr/lib64/python2.7/gettext.pytc2pyKs>
@
	
cCsddlm}||}d
}d}d}d}|jd}|dkrp||}|| }||O}nd}|jd}|dkr||}|| }||O}nd}|jd	}|dkr||}	|| }||O}nd}	|}
g}x~t|dD]l}||@s|
}
||@rE|
|	7}
n||@r\|
|7}
n||@rs|
|7}
n|j|
qqW|j|S(
Ni(t	normalizeiiit@Rt.t_iii(RR4RtrangeR)treverse(RR4tCOMPONENT_CODESETtCOMPONENT_TERRITORYtCOMPONENT_MODIFIERtmasktpostmodifiertcodesett	territorytlanguagetrettitval((s/usr/lib64/python2.7/gettext.pyt_expand_langsL















cBseZddZdZdZdZdZdZdZ	dZ
dZd	Zd
Z
dZdZedd
ZRS(cCsDi|_d|_d|_d|_|dk	r@|j|ndS(N(t_infotNonet_charsett_output_charsett	_fallbackt_parse(tselftfp((s/usr/lib64/python2.7/gettext.pyt__init__s				cCsdS(N((RMRN((s/usr/lib64/python2.7/gettext.pyRLscCs)|jr|jj|n	||_dS(N(RKtadd_fallback(RMtfallback((s/usr/lib64/python2.7/gettext.pyRPs	cCs|jr|jj|S|S(N(RKR(RMtmessage((s/usr/lib64/python2.7/gettext.pyRs	cCs|jr|jj|S|S(N(RKtlgettext(RMRR((s/usr/lib64/python2.7/gettext.pyRSs	cCs7|jr|jj|||S|dkr/|S|SdS(Ni(RKR(RMtmsgid1tmsgid2R((s/usr/lib64/python2.7/gettext.pyRs
	cCs7|jr|jj|||S|dkr/|S|SdS(Ni(RKt	lngettext(RMRTRUR((s/usr/lib64/python2.7/gettext.pyRVs
	cCs#|jr|jj|St|S(N(RKtugettexttunicode(RMRR((s/usr/lib64/python2.7/gettext.pyRWs	cCsC|jr|jj|||S|dkr5t|St|SdS(Ni(RKt	ungettextRX(RMRTRUR((s/usr/lib64/python2.7/gettext.pyRYs
	
cCs|jS(N(RG(RM((s/usr/lib64/python2.7/gettext.pytinfoscCs|jS(N(RI(RM((s/usr/lib64/python2.7/gettext.pytcharsetscCs|jS(N(RJ(RM((s/usr/lib64/python2.7/gettext.pytoutput_charsetscCs
||_dS(N(RJ(RMR[((s/usr/lib64/python2.7/gettext.pytset_output_charsetscCsddl}|r|jp!|j|jd<t|drd|kr]|jd|jd<nd|kr|rx|jp~|j|jd<nd|kr|j|jd<nd|kr|j|jd<qndS(NiR7t__contains__RRRSRV(	t__builtin__RWRt__dict__thasattrRYRRSRV(RMRXtnamesR_((s/usr/lib64/python2.7/gettext.pyRsN(t__name__t
__module__RHRORLRPRRSRRVRWRYRZR[R\R]tFalseR(((s/usr/lib64/python2.7/gettext.pyRs												cBsSeZdZdZdZdZdZdZdZdZ	dZ
RS(	l*l$<cCstj}t|dd}i|_}d|_|j}t|}|d|d d}||jkr|d|dd!\}}	}
}d	}nL||jkr|d
|dd!\}}	}
}d}nt	dd|xt
d|	D]}
||||
|
d
!\}}||}|||||d
!\}}||}||kr||kr|||!}|||!}nt	dd||dkrd}}x%|jD]}|j
}|sqn|jdrqnd|krH|jdd\}}|j
j}|j
}||j|<|}n |rh|j|cd|7<n|dkr|jdd|_q|dkr|jd}|djdd}t||_qqWnd|kr|jd\}}|jd}|jrKt||j}g|D]}t||j^q*}nxktt|D]}
||
|||
f<q^Wn:|jrt||j}t||j}n|||<|
d
7}
|d
7}qWdS(s8Override this method to support alternative .mo formats.tnameRcSst|dkS(Ni(tint(R((s/usr/lib64/python2.7/gettext.pyt<lambda>
ss<Iiis<4Iis<IIs>4Is>IIsBad magic numberisFile is corruptt#t:is
scontent-typescharset=splural-formst;splural=tN(tstructtunpacktgetattrt_catalogR-treadR*tLE_MAGICtBE_MAGICtIOErrortxrangeRHt
splitlineststript
startswithtsplittlowerRGRIR3RXR8(RMRNRntfilenametcatalogtbuftbuflentmagictversiontmsgcountt	masteridxttransidxtiiRDtmlentmofftmendttlenttoffttendtmsgttmsgtlastktktitemtvR-RTRUR((s/usr/lib64/python2.7/gettext.pyRLsv	
"	"	 
 



	
	(	

cCs}t}|jj||}||krG|jrC|jj|S|S|jr`|j|jS|jry|j|jS|S(N(tobjectRptgetRKRRJtencodeRI(RMRRtmissingR((s/usr/lib64/python2.7/gettext.pyRYs				cCsst}|jj||}||krG|jrC|jj|S|S|jr`|j|jS|jtjS(N(	RRpRRKRSRJRRtgetpreferredencoding(RMRRRR((s/usr/lib64/python2.7/gettext.pyRSgs			cCsyV|j||j|f}|jr8|j|jS|jrQ|j|jS|SWnDtk
r|jr|jj|||S|dkr|S|SnXdS(Ni(RpR-RJRRItKeyErrorRKR(RMRTRURR((s/usr/lib64/python2.7/gettext.pyRrs		
	cCsyL|j||j|f}|jr8|j|jS|jtjSWnDtk
r|jr{|jj|||S|dkr|S|SnXdS(Ni(	RpR-RJRRRRRKRV(RMRTRURR((s/usr/lib64/python2.7/gettext.pyRVs	
	cCsQt}|jj||}||krM|jrC|jj|St|S|S(N(RRpRRKRWRX(RMRRRR((s/usr/lib64/python2.7/gettext.pyRWs		
cCs~y |j||j|f}WnWtk
ry|jrO|jj|||S|dkrjt|}qzt|}nX|S(Ni(RpR-RRKRYRX(RMRTRURR((s/usr/lib64/python2.7/gettext.pyRYs 
	(RcRdRrRsRLRRSRRVRWRY(((s/usr/lib64/python2.7/gettext.pyRs	S						icCsT|dkrt}n|dkrg}x9dD]1}tjj|}|r.|jd}Pq.q.Wd|kr|jdqng}xA|D]9}x0t|D]"}||kr|j|qqWqW|rg}	nd}	xl|D]d}|dkrPntjj	||dd|}
tjj
|
r|rE|	j|
qL|
SqqW|	S(	NtLANGUAGEtLC_ALLtLC_MESSAGEStLANGRjtCs%s.mo(RRRR(RHt_default_localedirtostenvironRRyR)RFtpathtjointexists(tdomaint	localedirt	languagestalltenvarREtnelangstlangtnelangtresulttmofile((s/usr/lib64/python2.7/gettext.pyRs8	

	
c	Cs|dkrt}nt|||dd}|sU|r@tSttd|nd}x|D]}|tjj|f}	t	j
|	}
|
dkrt|d}t	j|	||}
WdQXnt
j
|
}
|r|
j|n|dkr|
}qb|j|
qbW|S(NRis$No translation file found for domaintrb(RHRRRRtRRRtabspatht
_translationsRtopent
setdefaulttcopyR]RP(RRRtclass_RQR@tmofilesRRtkeyttRN((s/usr/lib64/python2.7/gettext.pyRs*	
!	cCs/t||dtd|}|j||dS(NRQR@(RtTrueR(RRRXR@RbR((s/usr/lib64/python2.7/gettext.pyRstmessagescCs|dk	r|antS(N(RHt_current_domain(R((s/usr/lib64/python2.7/gettext.pyRs	cCs)|dk	r|t|<ntj|tS(N(RHt_localedirsRR(RR((s/usr/lib64/python2.7/gettext.pyRs
cCs&|dk	r|t|<ntj|S(N(RHt_localecodesetsR(RR@((s/usr/lib64/python2.7/gettext.pytbind_textdomain_codeset
s
cCsPy.t|tj|ddtj|}Wntk
rB|SX|j|S(NR@(RRRRHRRtR(RRRR((s/usr/lib64/python2.7/gettext.pyR	s
cCsPy.t|tj|ddtj|}Wntk
rB|SX|j|S(NR@(RRRRHRRtRS(RRRR((s/usr/lib64/python2.7/gettext.pyt	ldgettexts
cCsiy.t|tj|ddtj|}Wn%tk
rU|dkrN|S|SnX|j|||S(NR@i(RRRRHRRtR(RRTRURR((s/usr/lib64/python2.7/gettext.pyR
!s
cCsiy.t|tj|ddtj|}Wn%tk
rU|dkrN|S|SnX|j|||S(NR@i(RRRRHRRtRV(RRTRURR((s/usr/lib64/python2.7/gettext.pyt
ldngettext,s
cCs
tt|S(N(R	R(RR((s/usr/lib64/python2.7/gettext.pyR7scCs
tt|S(N(RR(RR((s/usr/lib64/python2.7/gettext.pyRS:scCstt|||S(N(R
R(RTRUR((s/usr/lib64/python2.7/gettext.pyR=scCstt|||S(N(RR(RTRUR((s/usr/lib64/python2.7/gettext.pyRV@s(((t__doc__RRRR'RmtsysterrnoRt__all__RRtprefixRRR3RFRRRHRRReRRRRRRRRR	RR
RRRSRRVR(((s/usr/lib64/python2.7/gettext.pyt<module>s>&H			7	+T&								

OHA YOOOO