ó Ïü-Oc@sÉddlZddlZddlZdZdZdfZdfZeZde fd„ƒYZ de fd „ƒYZ ej d ƒZd e fd „ƒYZd e fd„ƒYZdefd„ƒYZdS(iÿÿÿÿNt paragraphtblocktnulltmacrotStatecBseZRS((t__name__t __module__(((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/markup.pyRstIllegalMarkupExceptioncBseZRS((RR(((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/markup.pyRss\n[ ]*$tParsercBs†eZd„Zdd d„Zed„Zed„Zed„Z d„Z e d„Z d„Z d „Zd „Zd „Zd „ZRS(cCse||_||_||_d|_tƒ|_|j|jƒd|j_dg|_ t |_ dS(Ni( tformattdialectt macro_functNonetenvironRtstatetinitialize_statetindextnestingtTruet start_of_line(tselfR R R ((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/markup.pyt__init__s       tcCs%|j||||r|ƒndƒS(N(R R (Rtnametparsertargstrtcontent((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/markup.pytcall_macro_func$sccsÖtr#tjd|j|fIJn|tk rÒ|j|krÆx|jtƒD] }|VqNW|dk r±t|j|dd„ƒ}x)||j d|j ƒD] }|VqŸWn|j j d7_ n||_ndS(Nstransitioning %s => %st_startcSsdS(N(((tste((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/markup.pyt1siÿÿÿÿi( tdebugtsyststderrR tFalsetflush_hR tgetattrR RRR(RR twetstatp((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/markup.pyttransition_to_environ(s       c( #s trtjd|IJn|jdƒs<|d7}t}nt}x• |rÙ trhtjdˆjIJnˆjs•ˆjdkr¨t ˆj ƒdkr¨d|}t}nt}d}d}tj }d}x8d)D]0} x't ˆj | ƒD]} | d} | dkr| d} n| dkr0| ˆjƒ} n|rat | ƒd krad | d krad} nd} tj| tjƒj|| ƒ} | ré| jƒ|krétrÕtjd | t| jƒƒ| jƒfIJn| }| jƒ}| }| }| }qéqéWqÐW|s#|r|d}n|r0|d }nt |ƒdkrÒˆjdkr¾trqtjdt |ƒIJnx,ˆjjˆj d ˆjƒD] } | Vq‘Wˆjjd7_tˆ_nˆjj|ƒVn|r ˆjdk r xˆjtƒD] }|Vq÷WntrtjdIJndS||r2dndkr%|| jƒsìtj|| ƒdk ˆ_trtjdI|dI|IJnˆjdkrìx,ˆjjˆj d ˆjƒD] } | Vq¼Wˆjjd7_tˆ_qìn|r ˆjj|d|!ƒVq%ˆjj|| ƒVn|jƒ}|d}|dk sPt|‚t |ƒd krrt |d ƒni}|j!|ƒt |ƒd krº|d |ˆƒ}|j!|ƒnd |krÐ|d =nd|kr x ˆj"|dƒD] } | VqðW|d=n(|dkr¿tr+tjdIJnˆjt#kr³xˆjtƒD] }|VqJWt ˆjt#dd„ƒ}x&|ˆjˆj d ƒD] } | VqWˆjjd7_nt#ˆ_nrˆjdkr1trätjdIJnx,ˆjjˆj d ˆjƒD] } | VqWˆjjd7_tˆ_n|dksI|dkr d|kri|d}|d=nt}|}|dd}|dk r·||}d}t}d}|rÄd||f}n d|}||j$ƒ}xÇtr§tj||tjƒ}|r`|jdƒdk rÀ|r>|jdƒdks>t‚n|dkr“||j$ƒ|j$ƒ|jƒ|!}||j$ƒ|j$ƒ|}Pq]|d8}||j$ƒ}||j$ƒ7}q¤|sÌt‚|jdƒdk sçt‚|tkr|d7}n=x:|D](}|j|ƒ|j|ƒkrPqqW|d7}||j$ƒ}||j$ƒ7}qátrvtjdIJn||j$ƒ}ˆjj|jƒƒVt}PqáW|r qEq nNt ||j$ƒƒ}|rà|d8}nxñd*D]é} xàt ˆj | ƒD]Ì} t | ƒd ks d| d ks | d dtkrB q n| d} | dkre | d} n| dkrƒ | ˆjƒ} ntj| ||j$ƒtjƒ}|r |jƒ|kr |jƒ}q q WqçW||j$ƒ|j$ƒ|!}||j$ƒ|}|j%dƒr9 ‡fd†}!|!|ƒ}|d=nI|j%dƒrg d„}"|"|ƒ}|d=n‡fd †}#|#|ƒ}||d!%s)|(?P%s)s(?%s)tmuendtmustartsCouldn't find end!tescapecs‡‡fd†}|S(NcsˆjjˆƒS(N(R R1((RR(sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/markup.pytescðs((RR2(R(RsF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/markup.pyt esc_helperïstunparsedcs‡fd†}|S(NcsˆS(N(((R(sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/markup.pytunp÷s((RR5((RsF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/markup.pyt unp_helperöscs‡‡fd†}|S(Ncs݈jjˆjƒtr0tjdˆjIJndˆ_ˆjj}dˆj_ˆj }ˆjddkˆ_ ˆj ˆƒ}|ˆj dt ƒ7}ˆjj ƒˆ_trÄtjdˆjIJn|ˆj_|ˆ_ |S(Ns Nesting: %siiÿÿÿÿttablet reset_states Unnesting: (RtappendR R R!R"R RRRtsubparsetflushR#tpop(t old_indextold_start_of_linetret(RR(sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/markup.pytcontÿs$          ((RR@(R(RsF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/markup.pyt cont_helperþsRsUnknown type %s!cSsdS(N(((((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/markup.pyRsRs9//**Markup {{{%s}}} unimplemented in format {{{%s}}}!**//Rs //**%s**//s!/subparse_h empty block=%s env=%s(sblocksinlinesentity(sblocksinlinesentity(/R R!R"tendswithRR#R RR tlenRtmaxintR%R tretcompilet MULTILINEtsearchtstarttreprtgroupR tparagraph_startRRt PARAGRAPHR1R$tisspacetENDS_WITH_NEWLINEt groupdicttAssertionErrortdicttupdateR)R-tendtgettNULLtMACRORtAttributeErrort subparse_ht __class__RRtmessage((Rtbittis_blocktrpaddedtpaddedtbestttypt beststarttbestmttR(tpattpostmtbestpatR&tgdtmeaningtargstmoreRIR.RTt macro_nestingt macro_failedtadjustteithert macro_bittendmRtntendstarttbR3R6RAtthingRtgR((RsF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/markup.pyRY7s¤   -        ( !/            (                                                     )     cCsdj|j|d|ƒƒS(NuR](tjoinRY(RR\R]((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/markup.pyR:0sccs¿|jdkrdStr6tjd|j|fIJnt|j|jdd„ƒ}x&||jd|jƒD] }|VqoWd|_|r»t ƒ|_|jj |jƒd|j_ ndS(NsCleaning up %s rs=%st_endcSsdS(N(((RR((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/markup.pyR7siÿÿÿÿi( R R R R!R"R%R RRRRR(RR8RTR(((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/markup.pyR$2s     cCsdj|j|ƒƒS(Nu(RxR$(RR8((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/markup.pyR;?scCs(tj|j|dtƒ|jtƒƒS(NR](t itertoolstchainRYRR$(Rtmarkup((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/markup.pyt fullparse_hAscCsdj|j|ƒƒS(Nu(RxR}(RR|((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/markup.pyt fullparseDscCs|jj|ƒS(N(R R1(RRv((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/markup.pyR1FscCs|jS(N(R (R((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/markup.pyt get_formatHscCs|jS(N(R (R((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/markup.pyt get_dialectJsN(RRRR RRMR)R#RYR:R$RR;R}R~R1RR€(((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/markup.pyRs   ù      tAbstractMarkupcBs#eZd„Zd„Zd„ZRS(ccsA|jr=x%|j|jdtƒD] }|Vq"Wd|_ndS(NR]R(tjunkRYR(RRR((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/markup.pytendblockNs  cCs%dj|j|jdƒ||ƒƒS(Nus (Rxtgeneratetsplit(RR|R R ((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/markup.pytevaluateTsccs«t|||ƒ}d|_xj|D]b}|jƒ}|s\xG|j|ƒD] }|VqJWq"|jsq||_q"|jd|7_q"Wx|j|ƒD] }|Vq˜WdS(s,Takes an object with an iterator over lines.s N(RR R‚tstripRƒ(Rt markup_listR R RtlR((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/markup.pyR„Ws      (RRRƒR†R„(((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/markup.pyRMs  tUnioncBseZd„ZRS(cGsfg|_g|_g|_xD|D]<}|j|j7_|j|j7_|j|j7_q"WdS(N(RR*R+(Rtmustmu((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/markup.pyRis    (RRR(((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/markup.pyRŠhs(RER!RzRMR-RVRWR#R tobjectRt ExceptionRRFRORRRŠ(((sF/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/markup.pyts     ÿ7