ó LzñWc@sŠdZddlZddlZddlZddlmZmZddlmZddlm Z dd d„ƒYZ dd d „ƒYZ dS( s– LaTeX document building system for Grubber. This module is specific to Grubber and provides a class that encapsulates some of the rubber internals. iÿÿÿÿN(t_tmsg(tMaker(tLatext IndexBuildercBseZdZd„ZRS(sE Index configuration data to set the index tool maker to use cCsd|_d|_d|_dS(Nt(tstylettooltlang(tself((sF/usr/lib/python2.7/dist-packages/dbtexmf/dblatex/grubber/texbuilder.pyt__init__s  (t__name__t __module__t__doc__R (((sF/usr/lib/python2.7/dist-packages/dbtexmf/dblatex/grubber/texbuilder.pyRst LatexBuildercBs_eZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z RS( sb Main (g)rubber wrapper hiding all the internals and compiling the required tex file. cCs‰tƒ|_t|jƒ|_|jj|jƒd|_d|_d|_d|_d|_ d|_ d|_ d|_ t ƒ|_dS(NtpdftextpdfRislatin-1(RtmakerRttext dep_appendtbackendtformatt index_styletbatchtencodingttexposttoptionsRRtindex(R ((sF/usr/lib/python2.7/dist-packages/dbtexmf/dblatex/grubber/texbuilder.pyR s         cCs ||_dS(N(R(R R((sF/usr/lib/python2.7/dist-packages/dbtexmf/dblatex/grubber/texbuilder.pyt set_format0scCs ||_dS(N(R(R R((sF/usr/lib/python2.7/dist-packages/dbtexmf/dblatex/grubber/texbuilder.pyt set_backend4scCsnt|jtƒrR|j|g}|jdj|ƒƒtj|d|jƒ}n|jj||jƒ}|S(Nt tstdout( t isinstanceRtstrtlogtjoint subprocesstcallRtmain(R tsourceRtcmdtrc((sF/usr/lib/python2.7/dist-packages/dbtexmf/dblatex/grubber/texbuilder.pyt _texpost_call:s cCs|j|j_|j|j_|j|j_|jj|ƒ|jrg|jjtj|jƒ7_n|j dkré|j dkr›|jj j dƒq|j dkrÀ|jj j dƒq|jj j dƒ|jj j dƒn%|j dkr|jj j dƒn|jj ƒ|jj jdƒr©|jj d}|jjrb|j|jjƒn|jjr„|j|jjƒn|jjr©|j|jjƒq©n|jjƒ}|dkrÝtd |jjƒ‚n|jsêdS|jjtjd <|j|tƒ}|d krdS|dkrAtd |jƒ‚n|jjd d ƒ}|dkr{td|jjƒ‚ndS(NRRtxetextdvipstps2pdftpstmakeidxis%s compilation failedtLATEXis%s texpost failedtforces%s post compilation failed(RRRRt set_sourceRtoptstshlextsplitRRtmodulestregistertpreparethas_keyRRtdo_styleRtdo_toolt do_languageRtmaketOSErrortprogramRtostenvironR*R(R R'tidxR)((sF/usr/lib/python2.7/dist-packages/dbtexmf/dblatex/grubber/texbuilder.pytcompileEsL !         cCs|jjƒ|jƒdS(N(Rtcleantreinit(R ((sF/usr/lib/python2.7/dist-packages/dbtexmf/dblatex/grubber/texbuilder.pyRDws cCs1|jjƒ|jjƒ|jj|jƒdS(N(RRERR(R ((sF/usr/lib/python2.7/dist-packages/dbtexmf/dblatex/grubber/texbuilder.pyRE{s  cCs#tj|jjƒdtjƒdS(Ntwriter(Rt display_allRt get_errorst write_stderr(R ((sF/usr/lib/python2.7/dist-packages/dbtexmf/dblatex/grubber/texbuilder.pyt print_errors€scCs|jjƒdS(N(Rtprint_misschars(R ((sF/usr/lib/python2.7/dist-packages/dbtexmf/dblatex/grubber/texbuilder.pyRKƒs( R R R R RRR*RCRDRERJRK(((sF/usr/lib/python2.7/dist-packages/dbtexmf/dblatex/grubber/texbuilder.pyRs    2   ((( R R$R@R4RRRRtlatexRRR(((sF/usr/lib/python2.7/dist-packages/dbtexmf/dblatex/grubber/texbuilder.pyts