Your IP : 172.28.240.42


Current Path : /usr/lib/python2.7/dist-packages/LanguageSelector/
Upload File :
Current File : //usr/lib/python2.7/dist-packages/LanguageSelector/macros.pyc


S/Oc	@sdZddlZddlZddZdddYZdddYZedkr
d	Zxd
ddd
dddddg	D]Z	eee	Z
dGe	GdGHdZdGe
jeGHe
ddjee
jddGe
djGHejdqWndS(smacros.py: Generate macro values from configuration values and provide
substitution functions.

The following macros are available:

  LCODE CCODE PKGCODE LOCALE
iNcCsd}xt|D]}y|j|\}}Wntk
rHqnX|jddks|jddkryqn||kr|j}qqW|dkrtd||fn|S(s[Look up key in given file ("key value" lines). Throw an exception if
    key was not found.t#isKey %s not found in %sN(tNonetopentsplitt
ValueErrortfindtstriptKeyError(tfiletkeytseptvaltltktv((s;/usr/lib/python2.7/dist-packages/LanguageSelector/macros.pyt	_file_maps
*tLangcodeMacroscBs2eZdZdZdZdZdZRS(s1/usr/share/language-selector/data/langcode2localecCsi|_i}xt|jD]}y%|j}|jd\}}Wntk
r`qnX|jddks|jddkrqn||krg||<n||j|qW|||d<dS(Nt:RitLOCALES(tmacrosRtLANGCODE_TO_LOCALEtrstripRRRtappend(tselftlangCodetlocalesRR
R((s;/usr/lib/python2.7/dist-packages/LanguageSelector/macros.pyt__init__#s	
*
cCs|jj|dS(Nt(Rtget(Rtitem((s;/usr/lib/python2.7/dist-packages/LanguageSelector/macros.pyt__getitem__3scCs||j|<dS(N(R(RRtvalue((s;/usr/lib/python2.7/dist-packages/LanguageSelector/macros.pyt__setitem__7scCs|jj|S(N(Rt__contains__(RR((s;/usr/lib/python2.7/dist-packages/LanguageSelector/macros.pyR!:s(t__name__t
__module__RRRR R!(((s;/usr/lib/python2.7/dist-packages/LanguageSelector/macros.pyRs
			tLangpackMacroscBsGeZdZdZdZdZdZdZdZRS(cCstjj|dd|_i|_d|d<d|d<d|d<d|d<d|d<d|d	<|d
ksx|dkrd}nd
|kr|jd
\}|d<nd|kr|jdd}nd|kr|jd\|d<|d<n
||d<t|ddkr2d||df|d<n
||d<t|ddkrt|ddkrd|d|df|d	<nd|d|d	<t|ddkrd|d	|df|d	<qny!t|j|dd|d<Wntk
r|d|d<nXdS(s9Initialize values of macros.

        This uses information from maps/, config/, some hardcoded aggregate
        strings (such as package names), and some external input:
        
        - locale: Standard locale representation (e. g. pt_BR.UTF-8)
                  Format is: ll[_CC][.UTF-8][@variant]
        tdatatlocale2langpackRtLCODEtCCODEtVARIANTtLOCALEtPKGCODEt	SYSLOCALEtCtPOSIXten_USt@t.it_s%s@%ss%s_%s.UTF-8s%s.UTF-8RN(	tostpathtjointLOCALE_TO_LANGPACKRRtlenRR(Rtdatadirtlocale((s;/usr/lib/python2.7/dist-packages/LanguageSelector/macros.pyR>s<
	





	 

"!
cCs|jj|dS(NR(RR(RR((s;/usr/lib/python2.7/dist-packages/LanguageSelector/macros.pyRnscCs||j|<dS(N(R(RRR((s;/usr/lib/python2.7/dist-packages/LanguageSelector/macros.pyR rscCs|jj|S(N(RR!(RR((s;/usr/lib/python2.7/dist-packages/LanguageSelector/macros.pyR!uscCsotjd}xY|j|}|rg||jdd ||jd||jdd}qPq|S(s&Substitute all macros in given string.s
%([A-Z]+)%i(tretcompiletsearchtstarttgrouptend(Rtstre_macrotm((s;/usr/lib/python2.7/dist-packages/LanguageSelector/macros.pytsubst_stringxs@cCs5t|j}t|dj|j|dS(s$Substitute all macros in given file.twN(RtreadtwriteRC(RRR@((s;/usr/lib/python2.7/dist-packages/LanguageSelector/macros.pyt
subst_filescCsWxPtj|D]?\}}}x-|D]%}|jtjj|||q&WqWdS(s.Substitute all macros in given directory tree.N(R3twalkRGR4R5(RtrootR4tdirstfilestf((s;/usr/lib/python2.7/dist-packages/LanguageSelector/macros.pyt
subst_trees
(	R"R#RRR R!RCRGRM(((s;/usr/lib/python2.7/dist-packages/LanguageSelector/macros.pyR$=s	0				
	t__main__s/usr/share/language-selectortdetde_DEsde_DE.UTF-8sde_DE.UTF-8@eurosfr_BE@latinszh_CN.UTF-8szh_TW.UTF-8szh_HK.UTF-8tinvalid_Locales-------s---------------s;"%PKGCODE%: %LCODE% %CCODE% %VARIANT% %LOCALE% %SYSLOCALE%"sstring:ttesttestRDsfile  :(((t__doc__R3R:RRRR$R"R8R9RttemplateRCRRFRGREtunlink(((s;/usr/lib/python2.7/dist-packages/LanguageSelector/macros.pyt<module>s U(