pZTc@sddlZddlZddlTddlZdefdYZeZdfdYZdZdZ d efd YZ e d krge j d D]Z ee ^qGHndS( iN(t*tSymbolcBseZRS((t__name__t __module__(((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/parser.pyRstinner_macro_itcBs#eZdZdZdZRS(cCs(||_||_t|_g|_dS(N(t macronametittFalsetclosedt macro_stack(tselfRR((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/parser.pyt__init__ s   cCs|S(N((R ((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/parser.pyt__iter__scCsd}|jj}|jtkrtjrXtjdI|j I|j I|j Intjrttj|j IJn|j t kr|j |j kr|j r||_tqt|j dkr|j d|j kr|j jqq|j tkr|j j|j dqn|S(Ntimiii(tNoneRtnexttstyletMACROtcreoletdebugtsyststderrRtoptargR tENDRt StopIterationtlentpoptSTARTtappend(R t endmacronamett((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/parser.pyRs" +   (RRR R R(((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/parser.pyR s  ccst||}||||}x|D] }|Vq(W|jsTx|D]}qGWn|js||dk rttd||fVqttd|Vn|jVx|D] }|VqWdS(NsUnclosed macro <<%s %s>>!sUnclosed macro '%s'!(RRRtEntitytERROR(t macro_funct error_funcRtarglistRtimittmitti((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/parser.pytmacro_it%s        cCs*|i|d6d|krdndd6fS(Nturls://texternaltinternalR((thtsty((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/parser.pytdefault_link_func;stParsercBsbeZeddZdddZdddZdddZedZ dddZ RS(cCsdS(N(R(((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/parser.pytAscCs(||_||_||_||_dS(N(tformatR"t link_funcR#(R R1R"R2R#((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/parser.pyR @s   cCsCt|tst||jtj||jd|d|S(NR1R2(t isinstancet basestringtAssertionErrortrenderRttokenizeR#(R tmarkupR1R2((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/parser.pytparseGscCs(|jtj||jd|d|S(NR1R2(tirenderRR7R#(R R8R1R2((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/parser.pytiparseLscCs"dj|j|d|d|S(NuR1R2(tjoinR:(R ttokensR1R2((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/parser.pyR6PstEND_ENTITY_MACROc!:csb|dkr|j}n|dkr3|j}nt|}g}d}g}t}g} xtr]y|j} Wn1tk rtj rt j tI|I| IJnxz| r'| j \} } | dk r|tdggkst | |f| }nx|j| dD] } | VqWqWxz|r|j \}}|tkrX|}q+|tkrgq+|st t|x|j||D] } | VqWq+WPnXtj rt j | IJnt| tst t||t| f| j}| jtkr|tkp&| j|jk}| jtkoo|tkoo| oo|| ddkoo| dddk }| jtkr|tkrtj rt j dI|I| IJqnt}t j dI|I| I| jI| jIJ|s| o| jtko| jj}t j dI| jI| I| IJ| r| jtkr| ddj r|r|jtk r|j r|tks|tkr| j \} } dG| G| GH| dk r|tdggkst | |f| }n|d8}x"|j| dD] } | Vq Wn|rT| jtkrT|jtk rT|jdk s|s|rt|ddtk rt|s|rc |rc |rtj rt j dI|IJn|j \}}n|rtj rt j d I|IJnt}d}nd|r"tj rt j d I| IJnt}d}n0|j}| j}| jtkrLt}nt}t}|r |s|s|tk r|j r|ddtk r|ddtk r|j |ddj ks|r ||ddkr| sF|tksF|j sF|ddtksF|tk r|ddtk r|j |ddj krtj rzt j d |d |d ||||f IJnt}xw|r|dd|krPn|j \}}|tk r|t!k rx"|j||D] } | VqWqqWt}tj rt j dI|IJn|tkrPtj rDt j dI|IJn|| _q |r tj rut j dI| IJnx"|j"ttD] } | VqWq q |r |tk r |j r |j |ddj kr |d\}}tj rt j dI|Intj r t j |I|IJn||krxEt#||dD]X}|j \}}||ksut ||fx|j||D] } | VqWq?Wn||kr xt#|d|dD];}|j$||gx|j%||D] } | VqWqWnp||krt |j x|j||D] } | Vq- W|j$||gx"|j%||D] } | Vqb Wnt}|tkr tj r t j dIJq q q |tkr tj r t j dIJq q nDtj r t j dI|I|IJn| r |tkr t| _ndG|G|GH|r| |ddtkr| |tkr| | jtkr| tj ro t j dIJn|j n|rW | rW | s |dd|krW |tk r |j r xt#|D]C}|j$||dgx#|j%||dD] } | Vq Wq WqW |j$||g|tk rW x"|j%||D] } | VqB WqW ndG|GHn| r |tkr |tkr | jtkr | jtkr | jj r q`ntj r t j dItIdI|IJnx|j%tD] } | Vq W|j$tdgnL|tkrb tj rb t j dI|I|I|I|I|I| IJqb n| j|jkrz q`q`| jtkrC|tkr/ | j\}}|r |ddtkr |j$|dn|dk s t | j|js t || jft&|j'|j(|||}qZ|r |ddtkr tj rn t j dI|I| IJn|}tdgg}|j)r |j$|t!gq nd}| j$||g|d7}dG| G|GH|jr|| j|\}} xG|j%|| D] } | Vq WqZx<|j%|| jD] } | Vq1Wq`| jtkrS|tkraqZ| r{| dd|kst || f| j \} } | dk r|tdggkst ||f| }n|d8}|jr+|| j|\}} xG|j|| D] } | VqWqZx,|j|| jD] } | VqAWq`| jt*kr|tkr| j\}}|r|ddtkr|j$|dnt+j,|j'||t|jg|}qZ|tkrx |j"|| jD] } | VqWqZ|jrt| jt-s?t t| j|| j|\}} t|t-slt x|j%|| D] } | VqWx|j.|D] } | VqWxG|j|| D] } | VqWqZx|j"|| jD] } | VqWq`| jtkr.xN|j.| jD] } | VqWq`| jt/krH| jVq`ts`t | q`WdS(Niiisnmc?i tCHECKsfwee!t mac_closetnmclosettext_when_closedtbreakttotvias cleared tos clear EB=>sclear so ENV_BREAKttranssoother EB cases other EB cases start envtESspop TruesES!tstartsdue totCsSaving env_stackt start_stack(0RR1R2titerRtTrueRRRRRRRR5tendtreprR3tTokenRRRRR>RtTEXTtstripRtlinktenvtinlinet ENV_BREAKt PARAGRAPHtgrouptSELFENVtentitytxrangeRRHR(R"R#tselfenvtENTITYt itertoolstchaintunicodettexttLITERAL(!R R=R1R2Rt env_stackt start_depthtmacro_env_stackt env_closedRJRtoldstytoldenvtsRStenvargt saved_envRR-tis_macro_closetis_nonmacro_closet can_clear_envRBtdest_envRt incr_donetclearttop_envttop_argtxR$tdisplaytmetadata((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/parser.pyR:Us                  0  + "'         $                                  &     . "   7 !        , '          '      N( RRR.R RR9R;R6tOpR>R:(((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/parser.pyR/>s t__main__s:This* is a **bold** [[Plan|plan]] at ~** http://plan.com/.(RR]R=RtobjectRRXRR(R.R/RR7Rtdir(((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/parser.pyts     9