ó LzńWc@sŮddlZddlmZddlmaddlmZdefd„ƒYZdd d„ƒYZed krŐddl Z eƒZ e e j d ƒZ x9e D].Ze jeƒZer e jjeƒq q WndS( i˙˙˙˙N(tTexCodec(ttex_handler_counter(t RawUtfParsert VerbCodeccBs#eZdddd„Zd„ZRS(tverbtextutf8slatin-1c CsD||_||_||_tj|||d|d|d|ƒdS(Nterrorstpretpost(RRtoutput_encodingRt__init__(tselfRRRtinput_encodingR ((s;/usr/lib/python2.7/dist-packages/dbtexmf/dblatex/rawverb.pyR s    cCs—tj||ƒ}|jdkr%|Sd}t|j}xK|D]C}t|ƒdkrx|j||j}|d7}n||7}q?W|t|j<|S(NRti˙i(RtdecodeR Rt_errorstordRR(R ttexttntexttntc((s;/usr/lib/python2.7/dist-packages/dbtexmf/dblatex/rawverb.pyRs    (t__name__t __module__R R(((s;/usr/lib/python2.7/dist-packages/dbtexmf/dblatex/rawverb.pyRst VerbParsercBsAeZdd„Zd„Zd„Zd„Zd„Zd„ZRS(slatin-1cCs|tjdƒ|_tjdƒ|_tjdƒ|_d|_||_d|_d|_t |j|jd|ƒ|_ dS(Ns\\begin{lst[^}]*}s\\end{lst[^}]*}sescapeinside={([^}]*)}{([^}]*)}R s<:s:>R ( tretcompiletstart_retstop_retesc_retblocktencodingtdefault_esc_starttdefault_esc_stopRt default_codec(R R ((s;/usr/lib/python2.7/dist-packages/dbtexmf/dblatex/rawverb.pyR 1s      cCsq|js8|jj|ƒ}|s%|S|j||ƒSn5|jj|ƒ}|s]|j|ƒS|j||ƒSdS(N(RRtsearcht parse_beginRt block_growt parse_end(R tlinetm((s;/usr/lib/python2.7/dist-packages/dbtexmf/dblatex/rawverb.pytparse?s  cCsç||jƒ }||jƒ|jƒ!|_||jƒ}d|_d|_d|_|ddkrÖ|jdƒd}|| |_||}|jj|jƒ}|rÖ|j dƒ|_|j dƒ|_qÖn|j |ƒ|S(NR it[t]ii( tstarttendtcommandt esc_starttesc_stoptoptionstfindRR"tgroupR$(R R&R'tpreblockte((s;/usr/lib/python2.7/dist-packages/dbtexmf/dblatex/rawverb.pyR#Ms       cCs|j||jƒ ƒ|jƒ}|jƒtd|ƒ}|j|jƒ}|j rŘ|jƒdkrŘd|j |j f}|j rÄ|j ddkrŠd|}n|j d |d|_ qŘd|d|_ n|j |j |||jƒ}d |_|S( Ntcodecisescapeinside={%s}{%s}iţ˙˙˙t,i˙˙˙˙R*R)R ( R$R+t get_codect clear_errorsRR(RR.t get_errorsRRR0R-(R R&R'RtpRtescoptR((s;/usr/lib/python2.7/dist-packages/dbtexmf/dblatex/rawverb.pyR%cs    " cCs|j|7_dS(NR (R(R R&((s;/usr/lib/python2.7/dist-packages/dbtexmf/dblatex/rawverb.pyR$|scCsĺ|jrK|j|jkrAt|j|jd|jd|jƒS|jSn|j}d}|jj|ƒ}x@|dkrŽdt|ƒd}|jj|ƒ}|d7}qoW||jkrĹ|jSt||j d|d|jƒS(NRR ii˙˙˙˙t s k