PNG  IHDRQgAMA a cHRMz&u0`:pQ<bKGDgmIDATxwUﹻ& ^CX(J I@ "% (** BX +*i"]j(IH{~R)[~>h{}gy)I$Ij .I$I$ʊy@}x.: $I$Ii}VZPC)I$IF ^0ʐJ$I$Q^}{"r=OzI$gRZeC.IOvH eKX $IMpxsk.쒷/&r[޳<v| .I~)@$updYRa$I |M.e JaֶpSYR6j>h%IRز if&uJ)M$I vLi=H;7UJ,],X$I1AҒJ$ XY XzI@GNҥRT)E@;]K*Mw;#5_wOn~\ DC&$(A5 RRFkvIR}l!RytRl;~^ǷJj اy뷦BZJr&ӥ8Pjw~vnv X^(I;4R=P[3]J,]ȏ~:3?[ a&e)`e*P[4]T=Cq6R[ ~ޤrXR Հg(t_HZ-Hg M$ãmL5R uk*`%C-E6/%[t X.{8P9Z.vkXŐKjgKZHg(aK9ڦmKjѺm_ \#$5,)-  61eJ,5m| r'= &ڡd%-]J on Xm|{ RҞe $eڧY XYrԮ-a7RK6h>n$5AVڴi*ֆK)mѦtmr1p| q:흺,)Oi*ֺK)ܬ֦K-5r3>0ԔHjJئEZj,%re~/z%jVMڸmrt)3]J,T K֦OvԒgii*bKiNO~%PW0=dii2tJ9Jݕ{7"I P9JKTbu,%r"6RKU}Ij2HKZXJ,妝 XYrP ެ24c%i^IK|.H,%rb:XRl1X4Pe/`x&P8Pj28Mzsx2r\zRPz4J}yP[g=L) .Q[6RjWgp FIH*-`IMRaK9TXcq*I y[jE>cw%gLRԕiFCj-ďa`#e~I j,%r,)?[gp FI˨mnWX#>mʔ XA DZf9,nKҲzIZXJ,L#kiPz4JZF,I,`61%2s $,VOϚ2/UFJfy7K> X+6 STXIeJILzMfKm LRaK9%|4p9LwJI!`NsiazĔ)%- XMq>pk$-$Q2x#N ؎-QR}ᶦHZډ)J,l#i@yn3LN`;nڔ XuX5pF)m|^0(>BHF9(cզEerJI rg7 4I@z0\JIi䵙RR0s;$s6eJ,`n 䂦0a)S)A 1eJ,堌#635RIgpNHuTH_SԕqVe ` &S)>p;S$魁eKIuX`I4춒o}`m$1":PI<[v9^\pTJjriRŭ P{#{R2,`)e-`mgj~1ϣLKam7&U\j/3mJ,`F;M'䱀 .KR#)yhTq;pcK9(q!w?uRR,n.yw*UXj#\]ɱ(qv2=RqfB#iJmmL<]Y͙#$5 uTU7ӦXR+q,`I}qL'`6Kͷ6r,]0S$- [RKR3oiRE|nӦXR.(i:LDLTJjY%o:)6rxzҒqTJjh㞦I.$YR.ʼnGZ\ֿf:%55 I˼!6dKxm4E"mG_ s? .e*?LRfK9%q#uh$)i3ULRfK9yxm܌bj84$i1U^@Wbm4uJ,ҪA>_Ij?1v32[gLRD96oTaR׿N7%L2 NT,`)7&ƝL*꽙yp_$M2#AS,`)7$rkTA29_Iye"|/0t)$n XT2`YJ;6Jx".e<`$) PI$5V4]29SRI>~=@j]lp2`K9Jaai^" Ԋ29ORI%:XV5]JmN9]H;1UC39NI%Xe78t)a;Oi Ҙ>Xt"~G>_mn:%|~ޅ_+]$o)@ǀ{hgN;IK6G&rp)T2i୦KJuv*T=TOSV>(~D>dm,I*Ɛ:R#ۙNI%D>G.n$o;+#RR!.eU˽TRI28t)1LWϚ>IJa3oFbu&:tJ*(F7y0ZR ^p'Ii L24x| XRI%ۄ>S1]Jy[zL$adB7.eh4%%누>WETf+3IR:I3Xה)3אOۦSRO'ٺ)S}"qOr[B7ϙ.edG)^ETR"RtRݜh0}LFVӦDB^k_JDj\=LS(Iv─aTeZ%eUAM-0;~˃@i|l @S4y72>sX-vA}ϛBI!ݎߨWl*)3{'Y|iSlEڻ(5KtSI$Uv02,~ԩ~x;P4ցCrO%tyn425:KMlD ^4JRxSهF_}شJTS6uj+ﷸk$eZO%G*^V2u3EMj3k%)okI]dT)URKDS 7~m@TJR~荪fT"֛L \sM -0T KfJz+nإKr L&j()[E&I ߴ>e FW_kJR|!O:5/2跌3T-'|zX ryp0JS ~^F>-2< `*%ZFP)bSn"L :)+pʷf(pO3TMW$~>@~ū:TAIsV1}S2<%ޟM?@iT ,Eūoz%i~g|`wS(]oȤ8)$ ntu`өe`6yPl IzMI{ʣzʨ )IZ2= ld:5+請M$-ї;U>_gsY$ÁN5WzWfIZ)-yuXIfp~S*IZdt;t>KūKR|$#LcԀ+2\;kJ`]YǔM1B)UbG"IRߊ<xܾӔJ0Z='Y嵤 Leveg)$znV-º^3Ւof#0Tfk^Zs[*I꯳3{)ˬW4Ւ4 OdpbZRS|*I 55#"&-IvT&/윚Ye:i$ 9{LkuRe[I~_\ؠ%>GL$iY8 9ܕ"S`kS.IlC;Ҏ4x&>u_0JLr<J2(^$5L s=MgV ~,Iju> 7r2)^=G$1:3G< `J3~&IR% 6Tx/rIj3O< ʔ&#f_yXJiގNSz; Tx(i8%#4 ~AS+IjerIUrIj362v885+IjAhK__5X%nV%Iͳ-y|7XV2v4fzo_68"S/I-qbf; LkF)KSM$ Ms>K WNV}^`-큧32ŒVؙGdu,^^m%6~Nn&͓3ŒVZMsRpfEW%IwdǀLm[7W&bIRL@Q|)* i ImsIMmKmyV`i$G+R 0tV'!V)֏28vU7͒vHꦼtxꗞT ;S}7Mf+fIRHNZUkUx5SAJㄌ9MqμAIRi|j5)o*^'<$TwI1hEU^c_j?Е$%d`z cyf,XO IJnTgA UXRD }{H}^S,P5V2\Xx`pZ|Yk:$e ~ @nWL.j+ϝYb퇪bZ BVu)u/IJ_ 1[p.p60bC >|X91P:N\!5qUB}5a5ja `ubcVxYt1N0Zzl4]7­gKj]?4ϻ *[bg$)+À*x쳀ogO$~,5 زUS9 lq3+5mgw@np1sso Ӻ=|N6 /g(Wv7U;zωM=wk,0uTg_`_P`uz?2yI!b`kĸSo+Qx%!\οe|އԁKS-s6pu_(ֿ$i++T8=eY; צP+phxWQv*|p1. ά. XRkIQYP,drZ | B%wP|S5`~́@i޾ E;Չaw{o'Q?%iL{u D?N1BD!owPHReFZ* k_-~{E9b-~P`fE{AܶBJAFO wx6Rox5 K5=WwehS8 (JClJ~ p+Fi;ŗo+:bD#g(C"wA^ r.F8L;dzdIHUX݆ϞXg )IFqem%I4dj&ppT{'{HOx( Rk6^C٫O.)3:s(۳(Z?~ٻ89zmT"PLtw䥈5&b<8GZ-Y&K?e8,`I6e(֍xb83 `rzXj)F=l($Ij 2*(F?h(/9ik:I`m#p3MgLaKjc/U#n5S# m(^)=y=đx8ŬI[U]~SцA4p$-F i(R,7Cx;X=cI>{Km\ o(Tv2vx2qiiDJN,Ҏ!1f 5quBj1!8 rDFd(!WQl,gSkL1Bxg''՞^ǘ;pQ P(c_ IRujg(Wz bs#P­rz> k c&nB=q+ؔXn#r5)co*Ũ+G?7< |PQӣ'G`uOd>%Mctz# Ԫڞ&7CaQ~N'-P.W`Oedp03C!IZcIAMPUۀ5J<\u~+{9(FbbyAeBhOSܳ1 bÈT#ŠyDžs,`5}DC-`̞%r&ڙa87QWWp6e7 Rϫ/oY ꇅ Nܶըtc!LA T7V4Jsū I-0Pxz7QNF_iZgúWkG83 0eWr9 X]㾮݁#Jˢ C}0=3ݱtBi]_ &{{[/o[~ \q鯜00٩|cD3=4B_b RYb$óBRsf&lLX#M*C_L܄:gx)WΘsGSbuL rF$9';\4Ɍq'n[%p.Q`u hNb`eCQyQ|l_C>Lb꟟3hSb #xNxSs^ 88|Mz)}:](vbۢamŖ࿥ 0)Q7@0=?^k(*J}3ibkFn HjB׻NO z x}7p 0tfDX.lwgȔhԾŲ }6g E |LkLZteu+=q\Iv0쮑)QٵpH8/2?Σo>Jvppho~f>%bMM}\//":PTc(v9v!gոQ )UfVG+! 35{=x\2+ki,y$~A1iC6#)vC5^>+gǵ@1Hy٪7u;p psϰu/S <aʸGu'tD1ԝI<pg|6j'p:tպhX{o(7v],*}6a_ wXRk,O]Lܳ~Vo45rp"N5k;m{rZbΦ${#)`(Ŵg,;j%6j.pyYT?}-kBDc3qA`NWQū20/^AZW%NQ MI.X#P#,^Ebc&?XR tAV|Y.1!؅⨉ccww>ivl(JT~ u`ٵDm q)+Ri x/x8cyFO!/*!/&,7<.N,YDŽ&ܑQF1Bz)FPʛ?5d 6`kQձ λc؎%582Y&nD_$Je4>a?! ͨ|ȎWZSsv8 j(I&yj Jb5m?HWp=g}G3#|I,5v珿] H~R3@B[☉9Ox~oMy=J;xUVoj bUsl_35t-(ՃɼRB7U!qc+x4H_Qo֮$[GO<4`&č\GOc[.[*Af%mG/ ňM/r W/Nw~B1U3J?P&Y )`ѓZ1p]^l“W#)lWZilUQu`-m|xĐ,_ƪ|9i:_{*(3Gѧ}UoD+>m_?VPۅ15&}2|/pIOʵ> GZ9cmíتmnz)yߐbD >e}:) r|@R5qVSA10C%E_'^8cR7O;6[eKePGϦX7jb}OTGO^jn*媓7nGMC t,k31Rb (vyܴʭ!iTh8~ZYZp(qsRL ?b}cŨʊGO^!rPJO15MJ[c&~Z`"ѓޔH1C&^|Ш|rʼ,AwĴ?b5)tLU)F| &g٣O]oqSUjy(x<Ϳ3 .FSkoYg2 \_#wj{u'rQ>o;%n|F*O_L"e9umDds?.fuuQbIWz |4\0 sb;OvxOSs; G%T4gFRurj(֍ڑb uԖKDu1MK{1^ q; C=6\8FR艇!%\YÔU| 88m)֓NcLve C6z;o&X x59:q61Z(T7>C?gcļxѐ Z oo-08jہ x,`' ҔOcRlf~`jj".Nv+sM_]Zk g( UOPyεx%pUh2(@il0ݽQXxppx-NS( WO+轾 nFߢ3M<;z)FBZjciu/QoF 7R¥ ZFLF~#ȣߨ^<쩡ݛкvџ))ME>ώx4m#!-m!L;vv#~Y[đKmx9.[,UFS CVkZ +ߟrY٧IZd/ioi$%͝ب_ֶX3ܫhNU ZZgk=]=bbJS[wjU()*I =ώ:}-蹞lUj:1}MWm=̛ _ ¾,8{__m{_PVK^n3esw5ӫh#$-q=A̟> ,^I}P^J$qY~Q[ Xq9{#&T.^GVj__RKpn,b=`żY@^՝;z{paVKkQXj/)y TIc&F;FBG7wg ZZDG!x r_tƢ!}i/V=M/#nB8 XxЫ ^@CR<{䤭YCN)eKOSƟa $&g[i3.C6xrOc8TI;o hH6P&L{@q6[ Gzp^71j(l`J}]e6X☉#͕ ׈$AB1Vjh㭦IRsqFBjwQ_7Xk>y"N=MB0 ,C #o6MRc0|$)ف"1!ixY<B9mx `,tA>)5ػQ?jQ?cn>YZe Tisvh# GMމȇp:ԴVuږ8ɼH]C.5C!UV;F`mbBk LTMvPʍϤj?ԯ/Qr1NB`9s"s TYsz &9S%U԰> {<ؿSMxB|H\3@!U| k']$U+> |HHMLޢ?V9iD!-@x TIî%6Z*9X@HMW#?nN ,oe6?tQwڱ.]-y':mW0#!J82qFjH -`ѓ&M0u Uγmxϵ^-_\])@0Rt.8/?ٰCY]x}=sD3ojަЫNuS%U}ԤwHH>ڗjܷ_3gN q7[q2la*ArǓԖ+p8/RGM ]jacd(JhWko6ڎbj]i5Bj3+3!\j1UZLsLTv8HHmup<>gKMJj0@H%,W΃7R) ">c, xixј^ aܖ>H[i.UIHc U1=yW\=S*GR~)AF=`&2h`DzT󑓶J+?W+}C%P:|0H܆}-<;OC[~o.$~i}~HQ TvXΈr=b}$vizL4:ȰT|4~*!oXQR6Lk+#t/g lԁߖ[Jڶ_N$k*". xsxX7jRVbAAʯKҎU3)zSNN _'s?f)6X!%ssAkʱ>qƷb hg %n ~p1REGMHH=BJiy[<5 ǁJҖgKR*倳e~HUy)Ag,K)`Vw6bRR:qL#\rclK/$sh*$ 6덤 KԖc 3Z9=Ɣ=o>X Ώ"1 )a`SJJ6k(<c e{%kϊP+SL'TcMJWRm ŏ"w)qc ef꒵i?b7b('"2r%~HUS1\<(`1Wx9=8HY9m:X18bgD1u ~|H;K-Uep,, C1 RV.MR5άh,tWO8WC$ XRVsQS]3GJ|12 [vM :k#~tH30Rf-HYݺ-`I9%lIDTm\ S{]9gOڒMNCV\G*2JRŨ;Rҏ^ڽ̱mq1Eu?To3I)y^#jJw^Ńj^vvlB_⋌P4x>0$c>K†Aļ9s_VjTt0l#m>E-,,x,-W)سo&96RE XR.6bXw+)GAEvL)͞K4$p=Ũi_ѱOjb HY/+@θH9޼]Nԥ%n{ &zjT? Ty) s^ULlb,PiTf^<À] 62R^V7)S!nllS6~͝V}-=%* ʻ>G DnK<y&>LPy7'r=Hj 9V`[c"*^8HpcO8bnU`4JȪAƋ#1_\ XϘHPRgik(~G~0DAA_2p|J묭a2\NCr]M_0 ^T%e#vD^%xy-n}-E\3aS%yN!r_{ )sAw ڼp1pEAk~v<:`'ӭ^5 ArXOI驻T (dk)_\ PuA*BY]yB"l\ey hH*tbK)3 IKZ򹞋XjN n *n>k]X_d!ryBH ]*R 0(#'7 %es9??ښFC,ՁQPjARJ\Ρw K#jahgw;2$l*) %Xq5!U᢯6Re] |0[__64ch&_}iL8KEgҎ7 M/\`|.p,~`a=BR?xܐrQ8K XR2M8f ?`sgWS%" Ԉ 7R%$ N}?QL1|-эټwIZ%pvL3Hk>,ImgW7{E xPHx73RA @RS CC !\ȟ5IXR^ZxHл$Q[ŝ40 (>+ _C >BRt<,TrT {O/H+˟Pl6 I B)/VC<6a2~(XwV4gnXR ϱ5ǀHٻ?tw똤Eyxp{#WK qG%5],(0ӈH HZ])ג=K1j&G(FbM@)%I` XRg ʔ KZG(vP,<`[ Kn^ SJRsAʠ5xՅF`0&RbV tx:EaUE/{fi2;.IAwW8/tTxAGOoN?G}l L(n`Zv?pB8K_gI+ܗ #i?ޙ.) p$utc ~DžfՈEo3l/)I-U?aԅ^jxArA ΧX}DmZ@QLےbTXGd.^|xKHR{|ΕW_h] IJ`[G9{).y) 0X YA1]qp?p_k+J*Y@HI>^?gt.06Rn ,` ?);p pSF9ZXLBJPWjgQ|&)7! HjQt<| ؅W5 x W HIzYoVMGP Hjn`+\(dNW)F+IrS[|/a`K|ͻ0Hj{R,Q=\ (F}\WR)AgSG`IsnAR=|8$}G(vC$)s FBJ?]_u XRvύ6z ŨG[36-T9HzpW̞ú Xg큽=7CufzI$)ki^qk-) 0H*N` QZkk]/tnnsI^Gu't=7$ Z;{8^jB% IItRQS7[ϭ3 $_OQJ`7!]W"W,)Iy W AJA;KWG`IY{8k$I$^%9.^(`N|LJ%@$I}ֽp=FB*xN=gI?Q{٥4B)mw $Igc~dZ@G9K X?7)aK%݅K$IZ-`IpC U6$I\0>!9k} Xa IIS0H$I H ?1R.Чj:4~Rw@p$IrA*u}WjWFPJ$I➓/6#! LӾ+ X36x8J |+L;v$Io4301R20M I$-E}@,pS^ޟR[/s¹'0H$IKyfŸfVOπFT*a$I>He~VY/3R/)>d$I>28`Cjw,n@FU*9ttf$I~<;=/4RD~@ X-ѕzἱI$: ԍR a@b X{+Qxuq$IЛzo /~3\8ڒ4BN7$IҀj V]n18H$IYFBj3̵̚ja pp $Is/3R Ӻ-Yj+L;.0ŔI$Av? #!5"aʄj}UKmɽH$IjCYs?h$IDl843.v}m7UiI=&=0Lg0$I4: embe` eQbm0u? $IT!Sƍ'-sv)s#C0:XB2a w I$zbww{."pPzO =Ɔ\[ o($Iaw]`E).Kvi:L*#gР7[$IyGPI=@R 4yR~̮´cg I$I/<tPͽ hDgo 94Z^k盇΄8I56^W$I^0̜N?4*H`237}g+hxoq)SJ@p|` $I%>-hO0eO>\ԣNߌZD6R=K ~n($I$y3D>o4b#px2$yڪtzW~a $I~?x'BwwpH$IZݑnC㧄Pc_9sO gwJ=l1:mKB>Ab<4Lp$Ib o1ZQ@85b̍ S'F,Fe,^I$IjEdù{l4 8Ys_s Z8.x m"+{~?q,Z D!I$ϻ'|XhB)=…']M>5 rgotԎ 獽PH$IjIPhh)n#cÔqA'ug5qwU&rF|1E%I$%]!'3AFD/;Ck_`9 v!ٴtPV;x`'*bQa w I$Ix5 FC3D_~A_#O݆DvV?<qw+I$I{=Z8".#RIYyjǪ=fDl9%M,a8$I$Ywi[7ݍFe$s1ՋBVA?`]#!oz4zjLJo8$I$%@3jAa4(o ;p,,dya=F9ً[LSPH$IJYЉ+3> 5"39aZ<ñh!{TpBGkj}Sp $IlvF.F$I z< '\K*qq.f<2Y!S"-\I$IYwčjF$ w9 \ߪB.1v!Ʊ?+r:^!I$BϹB H"B;L'G[ 4U#5>੐)|#o0aڱ$I>}k&1`U#V?YsV x>{t1[I~D&(I$I/{H0fw"q"y%4 IXyE~M3 8XψL}qE$I[> nD?~sf ]o΁ cT6"?'_Ἣ $I>~.f|'!N?⟩0G KkXZE]ޡ;/&?k OۘH$IRۀwXӨ<7@PnS04aӶp.:@\IWQJ6sS%I$e5ڑv`3:x';wq_vpgHyXZ 3gЂ7{{EuԹn±}$I$8t;b|591nءQ"P6O5i }iR̈́%Q̄p!I䮢]O{H$IRϻ9s֧ a=`- aB\X0"+5"C1Hb?߮3x3&gşggl_hZ^,`5?ߎvĸ%̀M!OZC2#0x LJ0 Gw$I$I}<{Eb+y;iI,`ܚF:5ܛA8-O-|8K7s|#Z8a&><a&/VtbtLʌI$I$I$I$I$I$IRjDD%tEXtdate:create2022-05-31T04:40:26+00:00!Î%tEXtdate:modify2022-05-31T04:40:26+00:00|{2IENDB`Mini Shell

HOME


Mini Shell 1.0
DIR:/usr/lib/python2.7/site-packages/babel/messages/
Upload File :
Current File : //usr/lib/python2.7/site-packages/babel/messages/frontend.pyo
�
uM�Sc@sRdZddlmZddlmZddlmZddlmZddlm	Z	m
Z
ddlmZddl
Z
dd	lmZddlZddlZddlZdd
lmZddlZddlZddlmZddlmZmZdd
lmZddlmZddlm Z m!Z!m"Z"ddl#m$Z$ddl%m&Z&m'Z'ddl(m)Z)ddl*m+Z+m,Z,ddddddgZ-dZ.defd��YZ/defd��YZ0d�Z1defd��YZ2defd��YZ3de4fd ��YZ5d!�Z6e7d"�Z8gd#�Z9e:d$krNe6�ndS(%s3Frontends for the message extraction functionality.i����(tRawConfigParser(tdatetime(tlog(tCommand(tDistutilsOptionErrortDistutilsSetupError(tgetpreferredencodingN(tOptionParser(tStringIO(t__version__(tLocalet
localedata(tUnknownLocaleError(tCatalog(textract_from_dirtDEFAULT_KEYWORDStDEFAULT_MAPPING(twrite_mo(tread_potwrite_po(tPLURALS(todicttLOCALTZtCommandLineInterfacetcompile_catalogtextract_messagestinit_catalogtcheck_message_extractorstupdate_catalogsrestructuredtext enc	BsVeZdZdZddddddd gZddgZd�Zd�Zd�Z	RS(!s�Catalog compilation command for use in ``setup.py`` scripts.

    If correctly installed, this command is available to Setuptools-using
    setup scripts automatically. For projects using plain old ``distutils``,
    the command needs to be registered explicitly in ``setup.py``::

        from babel.messages.frontend import compile_catalog

        setup(
            ...
            cmdclass = {'compile_catalog': compile_catalog}
        )

    :since: version 0.9
    :see: `Integrating new distutils commands <http://docs.python.org/dist/node32.html>`_
    :see: `setuptools <http://peak.telecommunity.com/DevCenter/setuptools>`_
    s+compile message catalogs to binary MO filessdomain=tDs&domain of PO file (default 'messages')s
directory=tds.path to base directory containing the catalogssinput-file=tisname of the input filesoutput-file=tosQname of the output file (default '<output_dir>/<locale>/LC_MESSAGES/<domain>.po')slocale=tls locale of the catalog to compiles	use-fuzzytfsalso include fuzzy translationst
statisticss#print statistics about translationscCsCd|_d|_d|_d|_d|_t|_t|_dS(Ntmessages(	tdomaintNonet	directoryt
input_filetoutput_filetlocaletFalset	use_fuzzyR#(tself((s;/usr/lib/python2.7/site-packages/babel/messages/frontend.pytinitialize_optionsVs						cCsJ|jr#|jr#td��n|jrF|jrFtd��ndS(Ns<you must specify either the input file or the base directory(R(R'RR)(R-((s;/usr/lib/python2.7/site-packages/babel/messages/frontend.pytfinalize_options_sc	Cs@g}g}|js!|jr�|j|jtjj|j|jd|jd�f�|jtjj|j|jd|jd��q�x�tj|j�D]}tjj|j|d|jd�}tjj	|�r�|j||f�|jtjj|j|d|jd��q�q�Wnd|j|j|jf�|j
rV|j|j
�n/|jtjj|j|jd|jd��|s�td��nx�t|�D]�\}\}}||}t
|d�}zt||�}Wd|j�X|jr~d}	x.t|�dD]}
|
jr|	d7}	qqWd}t|�r\|	dt|�}ntjd	|	t|�||�n|jr�|jr�tjd
|�q�nxD|j�D]6\}
}x'|D]}
tjd||
j|
�q�Wq�Wtjd||�t
|d
�}zt||d|j�Wd|j�Xq�WdS(NtLC_MESSAGESs.pos.mosno message catalogs foundtriiids)%d of %d messages (%d%%) translated in %rs'catalog %r is marked as fuzzy, skippingserror: %s:%d: %sscompiling catalog %r to %rtwbR,(R(R*tappendtostpathtjoinR'R%tlistdirtexistsR)Rt	enumeratetopenRtcloseR#tlisttstringtlenRtinfotfuzzyR,twarntcheckterrortlinenoR(R-tpo_filestmo_filesR*tpo_filetidxtmo_filetinfiletcatalogt
translatedtmessaget
percentageterrorsRCtoutfile((s;/usr/lib/python2.7/site-packages/babel/messages/frontend.pytrungsn			
			
(sdomain=Rs&domain of PO file (default 'messages')(s
directory=Rs.path to base directory containing the catalogs(sinput-file=Rsname of the input file(soutput-file=R sQname of the output file (default '<output_dir>/<locale>/LC_MESSAGES/<domain>.po')(slocale=R!s locale of the catalog to compile(s	use-fuzzyR"salso include fuzzy translationsN(s
statisticsNs#print statistics about translations(
t__name__t
__module__t__doc__tdescriptionR&tuser_optionstboolean_optionsR.R/RQ(((s;/usr/lib/python2.7/site-packages/babel/messages/frontend.pyR/s(				cBs�eZdZdZd,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;gZddddddd#gZd'�Zd(�Zd)�Z	d*�Z
RS(<sjMessage extraction command for use in ``setup.py`` scripts.

    If correctly installed, this command is available to Setuptools-using
    setup scripts automatically. For projects using plain old ``distutils``,
    the command needs to be registered explicitly in ``setup.py``::

        from babel.messages.frontend import extract_messages

        setup(
            ...
            cmdclass = {'extract_messages': extract_messages}
        )

    :see: `Integrating new distutils commands <http://docs.python.org/dist/node32.html>`_
    :see: `setuptools <http://peak.telecommunity.com/DevCenter/setuptools>`_
    s1extract localizable strings from the project codescharset=s!charset to use in the output files	keywords=tksHspace-separated list of keywords to look for in addition to the defaultssno-default-keywordss#do not include the default keywordss
mapping-file=tFs&path to the mapping configuration filesno-locations>do not include location comments with filename and line numbersomit-headers'do not include msgid "" entry in headersoutput-file=R sname of the output fileswidth=tws"set output line width (default 76)sno-wrapsVdo not break long message lines, longer than the output line width, into several linesssort-outputs&generate sorted output (default False)ssort-by-files,sort output by file location (default False)smsgid-bugs-address=sset report address for msgidscopyright-holder=sset copyright holder in outputs
add-comments=tcsuplace comment block with TAG (or those preceding keyword lines) in output file. Seperate multiple TAGs with commas(,)sstrip-commentss)strip the comment TAGs from the comments.sinput-dirs=s/directories that should be scanned for messagescCs�d|_d|_tj�|_t|_d|_t|_	t|_
d|_d|_d|_
t|_t|_t|_d|_d|_d|_g|_t|_dS(Nsutf-8t(tcharsettkeywordsRtcopyt	_keywordsR+tno_default_keywordsR&tmapping_filetno_locationtomit_headerR)t
input_dirstwidthtno_wraptsort_outputtsort_by_filetmsgid_bugs_addresstcopyright_holdertadd_commentst
_add_commentststrip_comments(R-((s;/usr/lib/python2.7/site-packages/babel/messages/frontend.pyR.�s$																c
Csr|jr"|jr"td��n|jr7i|_n|jrb|jjt|jj���n|jsztd��n|jr�|j	r�td��n|jr�|j	r�d|_	n$|j	dk	r�t|j	�|_	n|jr|j
rtd��n|jsMtjg|jjD]}|jdd�d^q�j�|_n|jrn|jjd	�|_ndS(
Ns=you must specify new keywords if you disable the default onessno output file specifieds0'--no-wrap' and '--width' are mutually exclusiveiLs;'--sort-output' and '--sort-by-file' are mutually exclusivet.iit,(RaR^RR`tupdatetparse_keywordstsplitR)RgRfR&tintRhRiRetdicttfromkeystdistributiontpackagestkeysRlRm(R-RX((s;/usr/lib/python2.7/site-packages/babel/messages/frontend.pyR/�s*		"			;	c

s�|j�}t|jd�}zYtd|jj�d|jj�d|jd|jd|j	�}x�|j
�D]�\�\}}�fd�}t�||d|jd	|j
d
|d|j�}x]|D]U\}}	}
}tjjtjj�|��}|j|
d||	fgd|�q�WqpWtjd
|j�t||d|jd|jd|jd|jd|j�Wd|j�XdS(NRZtprojecttversionRjRkR]cs�|dkrdStjjtjj�|��}d}|r|ddjg|j�D]\}}d||f^qS�}ntjd||�dS(NtignoreR\s (%s)s, s%s="%s"sextracting messages from %s%s(R4R5tnormpathR6titemsRR?(tfilenametmethodtoptionstfilepathtoptstrRXtv(tdirname(s;/usr/lib/python2.7/site-packages/babel/messages/frontend.pytcallback)s!3R^tcomment_tagsR�tstrip_comment_tagst
auto_commentsswriting PO template file to %sRfRcRdRhRi(t
_get_mappingsR:R)R
Rwtget_nametget_versionRjRkR]R~RR`RmRnR4R5R}R6taddR&RR?RRfRcRdRhRiR;(
R-tmappingsRPRKt
method_maptoptions_mapR�t	extractedRRDRMtcommentsR�((R�s;/usr/lib/python2.7/site-packages/babel/messages/frontend.pyRQs4		
		!			cCsYi}|jrlt|jd�}z:t|�\}}x!|jD]}||f||<q@WWd|j�Xn�t|jdd�r1|jj}x�|j	�D]�\}}t
|t�r�tt|��\}}nJgi}}x:|D]2\}}	}
|j
||	f�|
pi||<q�W||f||<q�Wn$x!|jD]}tif||<q;W|S(NtUtmessage_extractors(RbR:t
parse_mappingReR;tgetattrRwR&R�R~t
isinstancet
basestringRR3R(R-R�tfileobjR�R�R�R�tmappingtpatternR�R�((s;/usr/lib/python2.7/site-packages/babel/messages/frontend.pyR�Gs*	
N(scharset=Ns!charset to use in the output file(s	keywords=RXsHspace-separated list of keywords to look for in addition to the defaults(sno-default-keywordsNs#do not include the default keywords(s
mapping-file=RYs&path to the mapping configuration file(sno-locationNs>do not include location comments with filename and line number(somit-headerNs'do not include msgid "" entry in header(soutput-file=R sname of the output file(swidth=RZs"set output line width (default 76)(sno-wrapNsVdo not break long message lines, longer than the output line width, into several lines(ssort-outputNs&generate sorted output (default False)(ssort-by-fileNs,sort output by file location (default False)(smsgid-bugs-address=Nsset report address for msgid(scopyright-holder=Nsset copyright holder in output(s
add-comments=R[suplace comment block with TAG (or those preceding keyword lines) in output file. Seperate multiple TAGs with commas(,)(sstrip-commentsNs)strip the comment TAGs from the comments.(sinput-dirs=Ns/directories that should be scanned for messages(RRRSRTRUR&RVRWR.R/RQR�(((s;/usr/lib/python2.7/site-packages/babel/messages/frontend.pyR�sP				)cCs"t|t�std��ndS(s�Validate the ``message_extractors`` keyword argument to ``setup()``.

    :param dist: the distutils/setuptools ``Distribution`` object
    :param name: the name of the keyword argument (should always be
                 "message_extractors")
    :param value: the value of the keyword argument
    :raise `DistutilsSetupError`: if the value is not valid
    :see: `Adding setup() arguments
           <http://peak.telecommunity.com/DevCenter/setuptools#adding-setup-arguments>`_
    sDthe value of the "message_extractors" parameter must be a dictionaryN(R�RuR(tdisttnametvalue((s;/usr/lib/python2.7/site-packages/babel/messages/frontend.pyRfscBsDeZdZdZdddddgZd�Zd�Zd�ZRS(sfNew catalog initialization command for use in ``setup.py`` scripts.

    If correctly installed, this command is available to Setuptools-using
    setup scripts automatically. For projects using plain old ``distutils``,
    the command needs to be registered explicitly in ``setup.py``::

        from babel.messages.frontend import init_catalog

        setup(
            ...
            cmdclass = {'init_catalog': init_catalog}
        )

    :see: `Integrating new distutils commands <http://docs.python.org/dist/node32.html>`_
    :see: `setuptools <http://peak.telecommunity.com/DevCenter/setuptools>`_
    s(create a new catalog based on a POT filesdomain=Rs&domain of PO file (default 'messages')sinput-file=Rsname of the input filesoutput-dir=Rspath to output directorysoutput-file=R sQname of the output file (default '<output_dir>/<locale>/LC_MESSAGES/<domain>.po')slocale=R!s$locale for the new localized catalogcCs1d|_d|_d|_d|_d|_dS(NR$(R&t
output_dirR)R(R*R%(R-((s;/usr/lib/python2.7/site-packages/babel/messages/frontend.pyR.�s
				cCs	|jstd��n|js0td��nytj|j�|_Wntk
rj}t|��nX|jr�|jr�td��n|js�t	j
j|j|jd|jd�|_nt	j
j
t	j
j|j��st	jt	j
j|j��ndS(Nsyou must specify the input files-you must provide a locale for the new catalogs%you must specify the output directoryR0s.po(R(RR*R
tparset_localeRR)R�R4R5R6R%R8R�tmakedirs(R-te((s;/usr/lib/python2.7/site-packages/babel/messages/frontend.pyR/�s			!cCs�tjd|j|j�t|jd�}zt|d|j�}Wd|j�X|j|_t	|_
t|jd�}zt||�Wd|j�XdS(Nscreating catalog %r based on %rR1R*RZ(RR?R)R(R:RR*R;R�R+R@R(R-RJRKRP((s;/usr/lib/python2.7/site-packages/babel/messages/frontend.pyRQ�s
	(sdomain=Rs&domain of PO file (default 'messages')(sinput-file=Rsname of the input file(soutput-dir=Rspath to output directory(soutput-file=R sQname of the output file (default '<output_dir>/<locale>/LC_MESSAGES/<domain>.po')(slocale=R!s$locale for the new localized catalog(RRRSRTRURVR.R/RQ(((s;/usr/lib/python2.7/site-packages/babel/messages/frontend.pyRws			c
Bs\eZdZdZdddd d!d#d$d%gZdddgZd�Zd�Zd�Z	RS(&syCatalog merging command for use in ``setup.py`` scripts.

    If correctly installed, this command is available to Setuptools-using
    setup scripts automatically. For projects using plain old ``distutils``,
    the command needs to be registered explicitly in ``setup.py``::

        from babel.messages.frontend import update_catalog

        setup(
            ...
            cmdclass = {'update_catalog': update_catalog}
        )

    :since: version 0.9
    :see: `Integrating new distutils commands <http://docs.python.org/dist/node32.html>`_
    :see: `setuptools <http://peak.telecommunity.com/DevCenter/setuptools>`_
    s'update message catalogs from a POT filesdomain=Rs&domain of PO file (default 'messages')sinput-file=Rsname of the input filesoutput-dir=Rs.path to base directory containing the catalogssoutput-file=R sQname of the output file (default '<output_dir>/<locale>/LC_MESSAGES/<domain>.po')slocale=R!s locale of the catalog to compilesignore-obsolete=s1whether to omit obsolete messages from the outputsno-fuzzy-matchingtNsdo not use fuzzy matchingtpreviouss+keep previous msgids of translated messagestignore_obsoletetno_fuzzy_matchingcCsLd|_d|_d|_d|_d|_t|_t|_t|_	dS(NR$(
R%R&R(R�R)R*R+R�R�R�(R-((s;/usr/lib/python2.7/site-packages/babel/messages/frontend.pyR.�s							cCs|jstd��n|jr;|jr;td��n|jr]|jr]td��n|jr{|jr{t|_ndS(Nsyou must specify the input files-you must specify the output file or directorysyou must specify the locale(R(RR)R�R*R�R�R+(R-((s;/usr/lib/python2.7/site-packages/babel/messages/frontend.pyR/�s	cCs�g}|js�|jrS|j|jtjj|j|jd|jd�f�q�x�tj|j�D]S}tjj|j|d|jd�}tjj	|�rf|j||f�qfqfWn|j|j|jf�|j}|stjj
tjj|j��d}nt
|jd�}zt|�}Wd|j�X|sUtd��nx]|D]U\}}tjd||j�t
|d�}zt|d|d|�}Wd|j�X|j||j�tjjtjj|�tj�tjj|��}	t
|	d	�}
y5z#t|
|d
|jd|j�Wd|
j�XWntj|	��nXytj|	|�Wq\tk
r�tj|�tj|	|�tj|	�q\Xq\WdS(NR0s.poiR�sno message catalogs foundsupdating catalog %r based on %rR*R%RZR�tinclude_previous( R)R*R3R4R5R6R�R%R7R8tsplitexttbasenameR(R:RR;RRR?RqR�R�ttempfilet
gettempprefixRR�R�tremovetrenametOSErrortshutilR_(R-RER*RGR%RJttemplateRRKttmpnamettmpfile((s;/usr/lib/python2.7/site-packages/babel/messages/frontend.pyRQsd			(
		


(sdomain=Rs&domain of PO file (default 'messages')(sinput-file=Rsname of the input file(soutput-dir=Rs.path to base directory containing the catalogs(soutput-file=R sQname of the output file (default '<output_dir>/<locale>/LC_MESSAGES/<domain>.po')(slocale=R!s locale of the catalog to compileN(signore-obsolete=Ns1whether to omit obsolete messages from the output(sno-fuzzy-matchingR�sdo not use fuzzy matching(spreviousNs+keep previous msgids of translated messages(
RRRSRTRUR&RVRWR.R/RQ(((s;/usr/lib/python2.7/site-packages/babel/messages/frontend.pyR�s,		
	cBs�eZdZdZdeZidd6dd6dd6d	d
6Zejd�Z	d�Z
d
�Zd�Zd�Z
d�Zd�ZRS(s�Command-line interface.

    This class provides a simple command-line interface to the message
    extraction and PO file generation functionality.
    s%%prog %s [options] %ss	%%prog %ss$compile message catalogs to MO filestcompiles:extract messages from source files and generate a POT filetextracts+create new message catalogs from a POT filetinits0update existing message catalogs from a POT fileRqcCstd|jdd|j�|_|jj�|j|j_|jjddddd	d
d�|jjdd
dddddtj	d
d�|jjdddddddtj
d
d�|jjdtdtj
�|jj|d�\}}|j|j�|jr�tj�}tg|D]}t|�^q#�}|j�d|d}xV|D]N}tj|�}|||jf}	|	jtjjp�t�p�dd�GHq]WdS|s�|jjd�n|d}
|
|j kr�|jjd|
�nt!||
�|d�S(s{Main entry point of the command-line interface.

        :param argv: list of arguments passed on the command-line
        tusagetcommands[args]R{s--list-localestdesttlist_localestactiont
store_truethelps print all known locales and exits-vs	--verbosetstore_consttlogleveltconstsprint as much as possibles-qs--quietsprint as little as possibleiu
%%-%ds %%stasciitreplaceisQno valid command or option passed. Try the -h/--help option for more information.sunknown command "%s"(scommands[args]("RR�R{tparsertdisable_interspersed_argst_helpt
print_helpt
add_optiontloggingtDEBUGtERRORtset_defaultsR+tINFOt
parse_argst_configure_loggingR�R�RR<tmaxR>tsortR
R�tenglish_nametencodetsyststdouttencodingRRCtcommandsR�(R-targvR�targstidentifierst
identifiertlongesttformatR*toutputtcmdname((s;/usr/lib/python2.7/site-packages/babel/messages/frontend.pyRQ^sD
	%

	
cCs�tjd�|_|jj|�|jjrA|jjd}ntj�}|jj|�|j|�tjd�}|j|�dS(Ntbabelis%(message)s(	R�t	getLoggerRtsetLevelthandlerst
StreamHandlert
addHandlert	FormattertsetFormatter(R-R�thandlert	formatter((s;/usr/lib/python2.7/site-packages/babel/messages/frontend.pyR��s
cCs�|jj�GHdGHtg|jD]}t|�^q �}dtd|d�}|jj�}|j�x#|D]\}}|||fGHqrWdS(Ns	commands:s  %%-%ds %%sii(R�tformat_helpR�R�R>R~R�(R-R�R�R�R�R�RU((s;/usr/lib/python2.7/site-packages/babel/messages/frontend.pyR��s(
c	Cs�td|jd9d|jd�}|jddddd	d
�|jdddd
ddd	d�|jddddddd	d�|jddddddd	d�|jddddddd	d�|jdd dd!d"d#d	d$�|jd%dd&d"d#d	d'�|jdd(d!td)td&t�|j|�\}}g}g}|jsy|jsm|j	d*�n|j
r�|j|j
tj
j|j|j
d+|jd,�f�|jtj
j|j|j
d+|jd-��q�xtj|j�D]}tj
j|j|d+|jd,�}tj
j|�r�|j||f�|jtj
j|j|d+|jd-��q�q�Wn}|j|j
|jf�|jr�|j|j�nH|js�|j	d*�n|jtj
j|j|j
d+|jd-��|s|j	d.�nx�t|�D]�\}	\}}||	}
t|d/�}zt||�}Wd0|j�X|jr�d1}
x.t|�d2D]}|jr�|
d27}
q�q�Wd1}t|�r�|
d3t|�}n|jjd4|
t|�||�n|jr|jr|jjd5|�qnxG|j �D]9\}}x*|D]"}|jj	d6||j!|�q?Wq,W|jjd7||
�t|
d8�}zt"||d!|j�Wd0|j�XqWd0S(:s�Subcommand for compiling a message catalog to a MO file.

        :param argv: the command arguments
        :since: version 0.9
        R�R�R\RUs--domains-DR�R%R�s.domain of MO and PO files (default '%default')s--directorys-dR'tmetavartDIRsbase directory of catalog filess--locales-lR*tLOCALEslocale of the catalogs--input-files-iR(tFILEsname of the input files
--output-files-oR)sQname of the output file (default '<output_dir>/<locale>/LC_MESSAGES/<domain>.mo')s--use-fuzzys-fR,R�R�s2also include fuzzy translations (default %default)s--statisticsR#s#print statistics about translationsR$tcompile_alls<you must specify either the input file or the base directoryR0s.pos.mosno message catalogs foundR1Niiids)%d of %d messages (%d%%) translated in %rs'catalog %r is marked as fuzzy, skippingserror: %s:%d: %sscompiling catalog %r to %rR2(scompileR\(#RR�R�R�R�R+R�R(R'RCR*R3R4R5R6R%R7R8R)R9R:RR;R#R<R=R>RR?R@R,RARBRDR(R-R�R�R�R�RERFR*RGRHRIRJRKRLRMRNRORCRP((s;/usr/lib/python2.7/site-packages/babel/messages/frontend.pyR��s�


						
		
csctd�jdWd�jd�}|jddddd	�|jd
dddd
ddd�|jdddd
ddd�|jdddddd�|jdddd
ddd�|jdddd
ddd�|jdddd dd!�|jd"d#dd$d%d&dd'�|jd(dd)d
ddd*�|jd+dd,d
ddd-�|jd.dd/d
ddd0�|jd1dd2d3d4dd5�|jd6dd7dd8�|jd9dd:dd;�|jd<dd=dd>�|jd?d@ddAd3dBd
dddC�|jdDdEddFd
dddG�|jddHdgdtdtdtd$dNd)td,td/tdAgdFt�|j|�\}}|s�|jdI�n|j	dXkr�t
|j	dK�}n	tj}t
j�}|jr|js�|jdL�ni}n|jr#|jt|j��n|jret
|jdM�}zt|�\}}	WdN|j�Xnt}i}	|jr�|jr�|jdO�n |jr�|jr�dP|_n|jr�|jr�|jdQ�nzptd:|jd=|jd2|jd7|jd|j �}
x�|D]��t!j"j#��sA|jdR��n��fdS�}t$�||	||j%dT|dF|j&�}x]|D]U\}
}}}t!j"j't!j"j(�|
��}|
j)|dN||fgdU|�q�WqW|j	dYkr
�j*j+dV|j	�nt,||
d$|jd|j-d|j.d,|jd/|j�WdN|j	r^|j�nXdNS(Zs�Subcommand for extracting messages from source files and generating
        a POT file.

        :param argv: the command arguments
        R�R�sdir1 <dir2> ...RUs	--charsetR�R]R�s1charset to use in the output (default "%default")s-ks	--keywordR^R�R3shkeywords to look for in addition to the defaults. You can specify multiple -k flags on the command line.s--no-default-keywordsRaR�s#do not include the default keywordss	--mappings-FRbs#path to the extraction mapping files
--no-locationRcs>do not include location comments with filename and line numbers
--omit-headerRds'do not include msgid "" entry in headers-os--outputR�spath to the output POT files-ws--widthRfttypeRts"set output line width (default 76)s	--no-wrapRgsVdo not break long message lines, longer than the output line width, into several liness
--sort-outputRhs&generate sorted output (default False)s--sort-by-fileRis,sort output by file location (default False)s--msgid-bugs-addressRjR�s
EMAIL@ADDRESSsset report address for msgids--copyright-holderRksset copyright holder in outputs	--projectRzsset project name in outputs	--versionR{sset project version in outputs--add-commentss-cR�tTAGsiplace comment block with TAG (or those preceding keyword lines) in output file. One TAG per argument calls--strip-comment-tagss-sR�s)Strip the comment tags from the comments.sutf-8sincorrect number of argumentst-RZs=you must specify new keywords if you disable the default onesR�Ns1'--no-wrap' and '--width' are mutually exclusive.iLs;'--sort-output' and '--sort-by-file' are mutually exclusives%r is not a directorycs�|dkrdStjjtjj�|��}d}|r|ddjg|j�D]\}}d||f^qS�}n�jjd||�dS(NR|R\s (%s)s, s%s="%s"sextracting messages from %s%s(R4R5R}R6R~RR?(RR�R�R�R�RXR�(R�R-(s;/usr/lib/python2.7/site-packages/babel/messages/frontend.pyR�s!3R�R�swriting PO template file to %s(sextractsdir1 <dir2> ...(NR�(NR�(/RR�R�R�R�R+R&R�RCR�R:R�R�RR_RaR^RqRrRbR�R;RRfRgRhRiR
RzR{RjRkR]R4R5tisdirRR�R�R}R6R�RR?RRcRd(R-R�R�R�R�RPR^R�R�R�RKR�R�RRDRMR�R�((R�R-s;/usr/lib/python2.7/site-packages/babel/messages/frontend.pyR�s�
									
!				c
	Cs�td|jd)d|jd�}|jddddd	d
�|jdddd
ddd	d�|jddddddd	d�|jddddddd	d�|jddddddd	d�|jdd�|j|�\}}|js|jd �nytj	|j�}Wn t
k
r=}|j|�nX|jsW|jd!�n|jr{|j
r{|jd"�n|js�tjj|j
|jd#|jd$�|_ntjjtjj|j��s�tjtjj|j��nt|jd%�}zt|d|j�}Wd&|j�X||_tjt�|_|jjd'|j|j�t|jd(�}	zt|	|�Wd&|	j�Xd&S(*srSubcommand for creating new message catalogs from a template.

        :param argv: the command arguments
        R�R�R\RUs--domains-DR�R%R�s&domain of PO file (default '%default')s--input-files-iR(R�R�sname of the input files--output-dirs-dR�R�spath to output directorys
--output-files-oR)sQname of the output file (default '<output_dir>/<locale>/LC_MESSAGES/<domain>.po')s--locales-lR*R�s$locale for the new localized catalogR$s-you must provide a locale for the new catalogsyou must specify the input files-you must specify the output file or directoryR0s.poR1Nscreating catalog %r based on %rRZ(sinitR\(RR�R�R�R�R�R*RCR
R�RR(R)R�R4R5R6R%R8R�R�R:RR;RtnowRt
revision_dateRR?R(
R-R�R�R�R�R*R�RJRKRP((s;/usr/lib/python2.7/site-packages/babel/messages/frontend.pyR��sV

				!	
cCs�td|jd8d|jd�}|jddddd	d
�|jdddd
ddd	d�|jddddddd	d�|jddddddd	d�|jddddddd	d�|jddd d!d"d	d#�|jd$d%dd&d!d"d	d'�|jd(dd)d!d"d	d*�|jdd+d td&td)t�|j|�\}}|jsw|jd,�n|j	r�|j
r�|jd-�n|j	r�|jr�|jd.�n|jr�|j
r�t|_
ng}|j	s�|jr/|j|jtjj|j
|jd/|jd0�f�q�x�tj|j
�D]S}tjj|j
|d/|jd0�}tjj|�rB|j||f�qBqBWn|j|j|j	f�|j}|s�tjjtjj|j��d1}nt|jd2�}	zt|	�}
Wd3|	j�X|s2|jd4�nx`|D]X\}}|jjd5||j�t|d2�}	zt|	d|d|�}Wd3|	j�X|j|
|j�tjjtjj|�tj�tjj|��}
t|
d6�}y5z#t ||d |j!d7|j
�Wd3|j�XWntj"|
��nXytj#|
|�Wq9t$k
r�tj"|�t%j&|
|�tj"|
�q9Xq9Wd3S(9s�Subcommand for updating existing message catalogs from a template.

        :param argv: the command arguments
        :since: version 0.9
        R�RqR\RUs--domains-DR�R%R�s&domain of PO file (default '%default')s--input-files-iR(R�R�sname of the input files--output-dirs-dR�R�spath to output directorys
--output-files-oR)sQname of the output file (default '<output_dir>/<locale>/LC_MESSAGES/<domain>.po')s--locales-lR*R�s"locale of the translations catalogs--ignore-obsoleteR�R�R�sAdo not include obsolete messages in the output (default %default)s--no-fuzzy-matchings-NR�s,do not use fuzzy matching (default %default)s
--previousR�s>keep previous msgids of translated messages (default %default)R$syou must specify the input files-you must specify the output file or directorysyou must specify the localeR0s.poiR�Nsno message catalogs foundsupdating catalog %r based on %rRZR�(supdateR\('RR�R�R�R�R+R�R(RCR)R�R*R�R�R3R4R5R6R%R7R8R�R�R:RR;RR?RqR�R�R�RR�R�R�R�R�R_(R-R�R�R�R�RER*RGR%RJR�RRKR�R�((s;/usr/lib/python2.7/site-packages/babel/messages/frontend.pyRq�s�


					(
		


(RRRSRTR�tVERSIONR{R�R�R�RQR�R�R�R�R�Rq(((s;/usr/lib/python2.7/site-packages/babel/messages/frontend.pyRNs

.		
	k	�	@cCst�jtj�S(N(RRQR�R�(((s;/usr/lib/python2.7/site-packages/babel/messages/frontend.pytmainQscCs4i}g}i}t�}t|j�|_|j||�x�|j�D]�}|dkrtt|j|��}qJg|jdd�D]}|j�^q�\}}	|j	|	|f�t|j|��||	<qJW|r*xLt
|�D];\}
\}	}||kr||}n|	|f||
<q�Wn||fS(s]Parse an extraction method mapping from a file-like object.

    >>> buf = StringIO('''
    ... [extractors]
    ... custom = mypackage.module:myfunc
    ... 
    ... # Python source files
    ... [python: **.py]
    ...
    ... # Genshi templates
    ... [genshi: **/templates/**.html]
    ... include_attrs =
    ... [genshi: **/templates/**.txt]
    ... template_class = genshi.template:TextTemplate
    ... encoding = latin-1
    ... 
    ... # Some custom extractor
    ... [custom: **/custom/*.*]
    ... ''')

    >>> method_map, options_map = parse_mapping(buf)
    >>> len(method_map)
    4

    >>> method_map[0]
    ('**.py', 'python')
    >>> options_map['**.py']
    {}
    >>> method_map[1]
    ('**/templates/**.html', 'genshi')
    >>> options_map['**/templates/**.html']['include_attrs']
    ''
    >>> method_map[2]
    ('**/templates/**.txt', 'genshi')
    >>> options_map['**/templates/**.txt']['template_class']
    'genshi.template:TextTemplate'
    >>> options_map['**/templates/**.txt']['encoding']
    'latin-1'

    >>> method_map[3]
    ('**/custom/*.*', 'mypackage.module:myfunc')
    >>> options_map['**/custom/*.*']
    {}

    :param fileobj: a readable file-like object containing the configuration
                    text to parse
    :return: a `(method_map, options_map)` tuple
    :rtype: `tuple`
    :see: `extract_from_directory`
    t
extractorst:i(RRt	_sectionstreadfptsectionsRuR~RststripR3R9(R�RR�R�R�R�tsectiontpartR�R�RH((s;/usr/lib/python2.7/site-packages/babel/messages/frontend.pyR�Ts$3	1
cCs�i}x�|D]�}d|kr7|jd�\}}n
|d}}||kr
|r�tg|jd�D]}t|�^qi�}n|||<q
q
W|S(s)Parse keywords specifications from the given list of strings.

    >>> kw = parse_keywords(['_', 'dgettext:2', 'dngettext:2,3']).items()
    >>> kw.sort()
    >>> for keyword, indices in kw:
    ...     print (keyword, indices)
    ('_', None)
    ('dgettext', (2,))
    ('dngettext', (2, 3))
    R�RpN(RsR&ttupleRt(tstringsR^R=tfuncnametindicestx((s;/usr/lib/python2.7/site-packages/babel/messages/frontend.pyRr�s

1t__main__(;RTtConfigParserRRt	distutilsRt
distutils.cmdRtdistutils.errorsRRR*RR�toptparseRR4treR�RR�R�R�R	R�R
Rt
babel.coreRtbabel.messages.catalogR
tbabel.messages.extractRRRtbabel.messages.mofileRtbabel.messages.pofileRRtbabel.messages.pluralsRt
babel.utilRRt__all__t
__docformat__RRRRRtobjectRR�R&R�RrRR(((s;/usr/lib/python2.7/site-packages/babel/messages/frontend.pyt<module>sN	�	S���	J