%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /proc/self/root/opt/alt/python27/lib/python2.7/site-packages/babel/messages/
Upload File :
Create Path :
Current File : //proc/self/root/opt/alt/python27/lib/python2.7/site-packages/babel/messages/frontend.pyo

�
�R�Qc@sXdZyddlmZWn!ek
r=ddlmZnXddlmZddlmZddlm	Z	ddl
mZmZddl
mZddlZdd	lmZddlZddlZddlZddlZddlZdd
lmZddlmZmZddlmZdd
lmZddl m!Z!m"Z"m#Z#ddl$m%Z%ddl&m'Z'm(Z(ddl)m*Z*m+Z+ddl,m-Z-m.Z.m/Z/de	fd��YZ0de	fd��YZ1d�Z2de	fd��YZ3de	fd��YZ4de5fd��YZ6d�Z7e8d�Z9gd �Z:e;d!krTe7�ndS("s�
    babel.messages.frontend
    ~~~~~~~~~~~~~~~~~~~~~~~

    Frontends for the message extraction functionality.

    :copyright: (c) 2013 by the Babel Team.
    :license: BSD, see LICENSE for more details.
i����(tRawConfigParser(tdatetime(tlog(tCommand(tDistutilsOptionErrortDistutilsSetupError(tgetpreferredencodingN(tOptionParser(t__version__(tLocalet
localedata(tUnknownLocaleError(tCatalog(textract_from_dirtDEFAULT_KEYWORDStDEFAULT_MAPPING(twrite_mo(tread_potwrite_po(todicttLOCALTZ(tstring_typestBytesIOtPY2tcompile_catalogc	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}
        )

    .. versionadded:: 0.9
    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((sH/opt/alt/python27/lib/python2.7/site-packages/babel/messages/frontend.pytinitialize_optionsNs						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)((sH/opt/alt/python27/lib/python2.7/site-packages/babel/messages/frontend.pytfinalize_optionsWsc	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	enumeratetopenRtcloseRtlisttstringtlenRtinfotfuzzyR(twarntcheckterrortlinenoR(R)tpo_filestmo_filesR&tpo_filetidxtmo_filetinfiletcatalogt
translatedtmessaget
percentageterrorsR?toutfile((sH/opt/alt/python27/lib/python2.7/site-packages/babel/messages/frontend.pytrun_sn			
			
(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=RsQname of the output file (default '<output_dir>/<locale>/LC_MESSAGES/<domain>.po')(slocale=Rs locale of the catalog to compile(s	use-fuzzyRsalso include fuzzy translationsN(s
statisticsNs#print statistics about translations(
t__name__t
__module__t__doc__tdescriptionR"tuser_optionstboolean_optionsR*R+RM(((sH/opt/alt/python27/lib/python2.7/site-packages/babel/messages/frontend.pyR)s(				textract_messagescBs�eZdZdZd,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;gZddddddd#gZd'�Zd(�Zd)�Z	d*�Z
RS(<s�Message 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}
        )
    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=Rsname 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. Separate multiple TAGs with commas(,)sstrip-commentss)strip the comment TAGs from the comments.sinput-dirs=s]directories that should be scanned for messages. Separate multiple directories with commas(,)cCs�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)((sH/opt/alt/python27/lib/python2.7/site-packages/babel/messages/frontend.pyR*�s$																c
Cs�|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|jr$tjd|j�|_nAtjg|jjD]}|jdd�d	^q7�j�|_|jr�|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 exclusives,\s*t.iit,(R^R[RR]tupdatetparse_keywordstsplitR%RdRcR"tintReRfRbtretdicttfromkeystdistributiontpackagestkeysRiRj(R)RU((sH/opt/alt/python27/lib/python2.7/site-packages/babel/messages/frontend.pyR+�s,		"			8	c
s�|j�}t|jd�}zbtd|jj�d|jj�d|jd|jd|j	�}x�|j
�D]�\�\}}�fd�}t�||d|jd	|j
d
|d|j�}xf|D]^\}}	}
}}tjjtjj�|��}
|j|
d|
|	fgd|d
|�q�WqpWtjd|j�t||d|jd|jd|jd|jd|j�Wd|j�XdS(NR.tprojecttversionRgRhRZcs�|dkrdStjjtjj�|��}d}|r|ddjg|j�D]\}}d||f^qS�}ntjd||�dS(NtignoreRYs (%s)s, s%s="%s"sextracting messages from %s%s(R0R1tnormpathR2titemsRR;(tfilenametmethodtoptionstfilepathtoptstrRUtv(tdirname(sH/opt/alt/python27/lib/python2.7/site-packages/babel/messages/frontend.pytcallback!s!3R[tcomment_tagsR�tstrip_comment_tagst
auto_commentstcontextswriting PO template file to %sRcR`RaReRf(t
_get_mappingsR6R%RRutget_nametget_versionRgRhRZR|R
R]RjRkR0R1R{R2taddR"RR;RRcR`RaReRfR7(R)tmappingsRLRGt
method_maptoptions_mapR�t	extractedR}R@RItcommentsR�R�((R�sH/opt/alt/python27/lib/python2.7/site-packages/babel/messages/frontend.pyRMs4		
		!			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(R_R6t
parse_mappingRbR7tgetattrRuR"R�R|t
isinstanceRRR/R(R)R�tfileobjR�R�R�R�tmappingtpatternR~R((sH/opt/alt/python27/lib/python2.7/site-packages/babel/messages/frontend.pyR�?s*	
N(scharset=Ns!charset to use in the output file(s	keywords=RUsHspace-separated list of keywords to look for in addition to the defaults(sno-default-keywordsNs#do not include the default keywords(s
mapping-file=RVs&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=Rsname of the output file(swidth=RWs"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=RXsuplace comment block with TAG (or those preceding keyword lines) in output file. Separate multiple TAGs with commas(,)(sstrip-commentsNs)strip the comment TAGs from the comments.(sinput-dirs=Ns]directories that should be scanned for messages. Separate multiple directories with commas(,)(RNRORPRQR"RRRSR*R+RMR�(((sH/opt/alt/python27/lib/python2.7/site-packages/babel/messages/frontend.pyRT�sP
			!	)cCs"t|t�std��ndS(sgValidate 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
    sDthe value of the "message_extractors" parameter must be a dictionaryN(R�RsR(tdisttnametvalue((sH/opt/alt/python27/lib/python2.7/site-packages/babel/messages/frontend.pytcheck_message_extractors^s
tinit_catalogc	BsSeZdZdZddddddd gZdgZd�Zd�Zd�Z	RS(!s�New 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}
        )
    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=RsQname of the output file (default '<output_dir>/<locale>/LC_MESSAGES/<domain>.po')slocale=Rs$locale for the new localized catalogswidth=RWs"set output line width (default 76)sno-wrapsVdo not break long message lines, longer than the output line width, into several linescCsCd|_d|_d|_d|_d|_t|_d|_dS(NR (	R"t
output_dirR%R$R&R!R'RdRc(R)((sH/opt/alt/python27/lib/python2.7/site-packages/babel/messages/frontend.pyR*�s						cCsn|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��n|jr&|jr&td��n|jrF|jrFd|_n$|jdk	rjt|j�|_ndS(Nsyou must specify the input files-you must provide a locale for the new catalogs%you must specify the output directoryR,s.pos0'--no-wrap' and '--width' are mutually exclusiveiL(R$RR&R	tparset_localeRR%R�R0R1R2R!R4R�tmakedirsRdRcR"Rq(R)te((sH/opt/alt/python27/lib/python2.7/site-packages/babel/messages/frontend.pyR+�s*			!cCs�tjd|j|j�t|jd�}zt|d|j�}Wd|j�X|j|_t	j
t�|_t
|_t|jd�}zt||d|j�Wd|j�XdS(Nscreating catalog %r based on %rR-R&R.Rc(RR;R%R$R6RR&R7R�RtnowRt
revision_dateR'R<RRc(R)RFRGRL((sH/opt/alt/python27/lib/python2.7/site-packages/babel/messages/frontend.pyRM�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=RsQname of the output file (default '<output_dir>/<locale>/LC_MESSAGES/<domain>.po')(slocale=Rs$locale for the new localized catalog(swidth=RWs"set output line width (default 76)N(sno-wrapNsVdo not break long message lines, longer than the output line width, into several lines(
RNRORPRQR"RRRSR*R+RM(((sH/opt/alt/python27/lib/python2.7/site-packages/babel/messages/frontend.pyR�ms(
					tupdate_catalogcBsbeZdZdZd"d#d$d%d&d'd)d*d+d,g
ZdddgZd�Zd �Zd!�Z	RS(-s�Catalog 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}
        )

    .. versionadded:: 0.9
    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=RsQname of the output file (default '<output_dir>/<locale>/LC_MESSAGES/<domain>.po')slocale=Rs locale of the catalog to compileswidth=RWs"set output line width (default 76)sno-wrapsVdo not break long message lines, longer than the output line width, into several linessignore-obsolete=s1whether to omit obsolete messages from the outputsno-fuzzy-matchingtNsdo not use fuzzy matchingtpreviouss+keep previous msgids of translated messagestignore_obsoletetno_fuzzy_matchingcCs^d|_d|_d|_d|_d|_d|_t|_t|_	t|_
t|_dS(NR (R!R"R$R�R%R&RcR'RdR�R�R�(R)((sH/opt/alt/python27/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~td��n|jr�|jr�d|_n$|jdk	r�t|j�|_n|j	r�|j
r�t|_
ndS(Nsyou must specify the input files-you must specify the output file or directorysyou must specify the locales0'--no-wrap' and '--width' are mutually exclusiveiL(R$RR%R�R&RdRcR"RqR�R�R'(R)((sH/opt/alt/python27/lib/python2.7/site-packages/babel/messages/frontend.pyR+s	c
Cs�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��nxf|D]^\}}tjd||j�t
|d�}zt|d|d|�}Wd|j�X|j||j�tjjtjj|�tj�tjj|��}	t
|	d	�}
y>z,t|
|d
|jd|jd|j�Wd|
j�XWntj|	��nXytj|	|�Wq\tk
r�tj|�tj |	|�tj|	�q\Xq\WdS(
NR,s.poiR�sno message catalogs foundsupdating catalog %r based on %rR&R!RWR�tinclude_previousRc(!R%R&R/R0R1R2R�R!R3R4tsplitexttbasenameR$R6RR7RRR;RnR�R�ttempfilet
gettempprefixRR�R�RctremovetrenametOSErrortshutilR\(R)RAR&RCR!RFttemplateR}RGttmpnamettmpfile((sH/opt/alt/python27/lib/python2.7/site-packages/babel/messages/frontend.pyRMsd			(
		


(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=RsQname of the output file (default '<output_dir>/<locale>/LC_MESSAGES/<domain>.po')(slocale=Rs locale of the catalog to compile(swidth=RWs"set output line width (default 76)N(sno-wrapNsVdo not break long message lines, longer than the output line width, into several lines(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(
RNRORPRQR"RRRSR*R+RM(((sH/opt/alt/python27/lib/python2.7/site-packages/babel/messages/frontend.pyR��s4			tCommandLineInterfacecBs�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 fileRncCstd|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]Rys--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�Rytparsertdisable_interspersed_argst_helpt
print_helpt
add_optiontloggingtDEBUGtERRORtset_defaultsR'tINFOt
parse_argst_configure_loggingR�R�R
tlocale_identifierstmaxR:tsortR	R�tenglish_nametencodetsyststdouttencodingRR?tcommandsR�(R)targvRtargstidentifierst
identifiertlongesttformatR&toutputtcmdname((sH/opt/alt/python27/lib/python2.7/site-packages/babel/messages/frontend.pyRMmsD
	%

	
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((sH/opt/alt/python27/lib/python2.7/site-packages/babel/messages/frontend.pyR��s
cCs�|jj�GHdGHtg|jD]}t|�^q �}dtd|d�}t|jj��}x#|D]\}}|||fGHqnWdS(Ns	commands:s  %%-%ds %%sii(R�tformat_helpR�R�R:tsortedR|(R)R�R�R�R�R�RQ((sH/opt/alt/python27/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�RYRQs--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--statisticsRs#print statistics about translationsR tcompile_alls<you must specify either the input file or the base directoryR,s.pos.mosno message catalogs foundR-Niiids)%d of %d messages (%d%%) translated in %rs'catalog %r is marked as fuzzy, skippingserror: %s:%d: %sscompiling catalog %r to %rR.(scompileRY(#RR�R�R�R�R'R�R$R#R?R&R/R0R1R2R!R3R4R%R5R6RR7RR8R9R:RR;R<R(twarningR>R@R(R)R�R�RR�RARBR&RCRDRERFRGRHRIRJRKR?RL((sH/opt/alt/python27/lib/python2.7/site-packages/babel/messages/frontend.pyR��s�


						
		
cs�td�jdYd�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$dLd)td,td/tdAgdFt�|j|�\}}|s�|jdI�nt	j
�}|jr�|js�|jdJ�ni}n|jr�|j
t|j��n|jr8t|jdK�}zt|�\}}WdL|j�Xnt}i}|jrf|jrf|jdM�n |jr�|jr�dN|_n|jr�|jr�|jdO�ntd:|jd=|jd2|jd7|jd|j�}	x�|D]��tjj ��s|jdP��n��fdQ�}
t!�||||j"dR|
dF|j#�}xf|D]^\}}
}}}tjj$tjj%�|��}|	j&|dL||
fgdS|dT|�qTWq�W|	j}|j'dZkr�j(j)dV|j'�t|j'dW�}t*}n@t+j,}t-r>t.|dX�r>|j/|	_|j0j1}nt}z>t2||	d$|jd|j3d|j4d,|jd/|j�WdL|r�|j�n||	_XdLS([s�Subcommand for extracting messages from source files and generating
        a POT file.

        :param argv: the command arguments
        R�R�sdir1 <dir2> ...RQs	--charsetR�RZR�s1charset to use in the output (default "%default")s-ks	--keywordR[R�R/shkeywords to look for in addition to the defaults. You can specify multiple -k flags on the command line.s--no-default-keywordsR^R�s#do not include the default keywordss	--mappings-FR_s#path to the extraction mapping files
--no-locationR`s>do not include location comments with filename and line numbers
--omit-headerRas'do not include msgid "" entry in headers-os--outputR�spath to the output POT files-ws--widthRcttypeRqs"set output line width (default 76)s	--no-wrapRdsVdo not break long message lines, longer than the output line width, into several liness
--sort-outputRes&generate sorted output (default False)s--sort-by-fileRfs,sort output by file location (default False)s--msgid-bugs-addressRgR�s
EMAIL@ADDRESSsset report address for msgids--copyright-holderRhsset copyright holder in outputs	--projectRxsset project name in outputs	--versionRysset 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 argumentss=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(NRzRYs (%s)s, s%s="%s"sextracting messages from %s%s(R0R1R{R2R|RR;(R}R~RR�R�RUR�(R�R)(sH/opt/alt/python27/lib/python2.7/site-packages/babel/messages/frontend.pyR��s!3R�R�R�t-swriting PO template file to %sR.tbuffer(sextractsdir1 <dir2> ...(NR�(5RR�R�R�R�R'R"R�R?RR\R^R[RnRoR_R6R�R7RRcRdReRfRRxRyRgRhRZR0R1tisdirR
R�R�R{R2R�R�RR;tTrueR�R�RthasattrR�R�trawRR`Ra(R)R�R�RR�R[R�R�R�RGR�R�R}R@RIR�R�R�tcatalog_charsetRLtclose_output((R�R)sH/opt/alt/python27/lib/python2.7/site-packages/babel/messages/frontend.pyR�s�
								
!						
c
	Cs#td|jd6d|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*�|j|�\}}|jsF|jd+�nytj	|j�}Wn t
k
r~}|j|�nX|js�|jd,�n|jr�|j
r�|jd-�n|js�tjj|j
|jd.|jd/�|_ntjjtjj|j��s3tjtjj|j��n|jrU|jrU|jd0�n |jru|jrud1|_nt|jd2�}zt|d|j�}Wd3|j�X||_tjt�|_|jjd4|j|j�t|jd5�}	zt |	|d!|j�Wd3|	j�Xd3S(7srSubcommand for creating new message catalogs from a template.

        :param argv: the command arguments
        R�R�RYRQs--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 catalogs-ws--widthRcR�Rqs"set output line width (default 76)s	--no-wrapRdR�R�sVdo not break long message lines, longer than the output line width, into several linesR s-you must provide a locale for the new catalogsyou must specify the input files-you must specify the output file or directoryR,s.pos1'--no-wrap' and '--width' are mutually exclusive.iLR-Nscreating catalog %r based on %rR.(sinitRY(!RR�R�R�R�R�R&R?R	R�RR$R%R�R0R1R2R!R4R�R�RcRdR6RR7RR�RR�RR;R(
R)R�R�RR�R&R�RFRGRL((sH/opt/alt/python27/lib/python2.7/site-packages/babel/messages/frontend.pyR��sf

				!	
cCs%td|jdCd|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)�|jd*dd+d'd(d	d,�|jd-d.dd/d'd(d	d0�|jd1dd2d'd(d	d3�|jdd4d+td/td2t�|j|�\}}|js�|jd5�n|j	r�|j
r�|jd6�n|j	r�|jr�|jd7�n|jr|j
rt|_
ng}|j	s�|jrp|j|jtjj|j
|jd8|jd9�f�q�x�tj|j
�D]S}tjj|j
|d8|jd9�}tjj|�r�|j||f�q�q�Wn|j|j|j	f�|j}|s-tjjtjj|j��d:}nt|jd;�}	zt|	�}
Wd<|	j�X|ss|jd=�n|jr�|jr�|jd>�n |jr�|jr�d?|_nxi|D]a\}}|jjd@||j�t|d;�}	zt|	d|d|�}Wd<|	j�X|j|
|j�tjjtjj|�t j!�tjj|��}
t|
dA�}y>z,t"||d+|j#dB|j
d!|j�Wd<|j�XWntj$|
��nXytj%|
|�Wq�t&k
rtj$|�t'j(|
|�tj$|
�q�Xq�Wd<S(Ds�Subcommand for updating existing message catalogs from a template.

        :param argv: the command arguments
        :since: version 0.9
        R�RnRYRQs--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-ws--widthRcR�Rqs"set output line width (default 76)s	--no-wrapRdR�R�sVdo not break long message lines, longer than the output line width, into several liness--ignore-obsoleteR�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 localeR,s.poiR�Nsno message catalogs founds1'--no-wrap' and '--width' are mutually exclusive.iLsupdating catalog %r based on %rRWR�(supdateRY()RR�R�R�R�R'R�R$R?R%R�R&R�R�R/R0R1R2R!R3R4R�R�R6RR7RcRdRR;RnR�R�R�RR�R�R�R�R�R\(R)R�R�RR�RAR&RCR!RFR�R}RGR�R�((sH/opt/alt/python27/lib/python2.7/site-packages/babel/messages/frontend.pyRns�


					(
			


(RNRORPR�tVERSIONRyR�R�R�RMR�R�R�R�R�Rn(((sH/opt/alt/python27/lib/python2.7/site-packages/babel/messages/frontend.pyR�]s

.				k	�	IcCst�jtj�S(N(R�RMR�R�(((sH/opt/alt/python27/lib/python2.7/site-packages/babel/messages/frontend.pytmain~scCs4i}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(sParse an extraction method mapping from a file-like object.

    >>> buf = BytesIO(b'''
    ... [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
    :see: `extract_from_directory`
    t
extractorst:i(RRt	_sectionstreadfptsectionsRsR|RptstripR/R5(R�R}RR�R�R�tsectiontpartR~R�RD((sH/opt/alt/python27/lib/python2.7/site-packages/babel/messages/frontend.pyR��s$1	1
cCs�i}x�|D]�}d|kr7|jd�\}}n
|d}}||kr
|r�g}xZ|jd�D]I}|ddkr�|jt|d �df�ql|jt|��qlWt|�}n|||<q
q
W|S(sZParse keywords specifications from the given list of strings.

    >>> kw = parse_keywords(['_', 'dgettext:2', 'dngettext:2,3', 'pgettext:1c,2']).items()
    >>> kw.sort()
    >>> for keyword, indices in kw:
    ...     print (keyword, indices)
    ('_', None)
    ('dgettext', (2,))
    ('dngettext', (2, 3))
    ('pgettext', ((1, 'c'), 2))
    RRmi����RXN(RpR"R/Rqttuple(tstringsR[R9tfuncnametindicestindstx((sH/opt/alt/python27/lib/python2.7/site-packages/babel/messages/frontend.pyRo�s

 t__main__(<RPtConfigParserRtImportErrortconfigparserRt	distutilsRt
distutils.cmdRtdistutils.errorsRRR&RR�toptparseRR0RrR�R�R�R�RRR	R
t
babel.coreRtbabel.messages.catalogRtbabel.messages.extractR
RRtbabel.messages.mofileRtbabel.messages.pofileRRt
babel.utilRRt
babel._compatRRRRRTR�R�R�tobjectR�RR"R�RoRN(((sH/opt/alt/python27/lib/python2.7/site-packages/babel/messages/frontend.pyt<module>
sL
}�	`���#	I

Zerion Mini Shell 1.0