RTc@sjddlZddlZddlTdZdefdYZejdZdefd YZdS( iNi(t*cCs d|fS(Ns<<<%s>>>((ttxt((sG/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/formats.pyt placeholderst BaseFormatcBseZeZRS((t__name__t __module__tTruet text_based(((sG/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/formats.pyRss[\n ]+tFormatcBsdeZdZdZdZd dZide6de6Z d dZ d dZ d dZ RS( sThe base format implements a lossy plaintext display format that serves as reasonable default behavior. Formats are stateful, so currently you construct a new one each time you parse something. I'm not sure I like those semantics, though.cCs(t|_t|_d|_t|_dS(N(tFalset start_of_listtstart_of_tabletNonet link_textRteat_nl(tself((sG/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/formats.pyt__init__s   ccs`|jr$|jd}t|_ntjd|}|jdk rW|j|7_n|VdS(sSEscape special characters in text, intended to be plain text, as necessary.s t N(RtlstripR t SPACES_PATtsubR R (Rttext((sG/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/formats.pyRs  cCs|tkrdS|tkr dS|tkr0dS|tkr@dS|tkrPdS|tkr`dS|tkrpdS|tkrdSdSdS(Nu*u/uu^u,u_u-(tBOLDtITALICt MONOSPACEt SUPERSCRIPTt SUBSCRIPTt UNDERLINEtSTRIKEt CODEBLOCK(Rtttarg((sG/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/formats.pyttag%s"        t#Rccs|tttfkr:|dkr2dGHt|_ndVn||jkr|jr[d}nd}t|_dGH|d||j|dVn/|tkr|jrd}nd}t|_|d|dVn|tkrdVn|t krd|_ dVn|t krd Vn|t kr0d d |Vn|t krMt|_dVnp|tkrad Vn\|tkrud VnH|tkr|jrt|_dVqdVt|_n|j||VdS(Nissol!tuu ssol.u u>t[s%s u=u u * (tORDEREDt UNORDEREDt BLOCKQUOTERR tLIST_MAPR tBLOCKQUOTE_LINEt PARAGRAPHtLINKR tIMAGEtHEADINGtTABLER t TABLE_CELLt TABLE_HEADINGt TABLE_ROWRR (RRRtstart((sG/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/formats.pyR1:sR                      ccs6|ttfkrdVn|tttfkr7dVn|tkrKdVn|tkr|d|jkowd|dk}d|_|rdVq2d|dVn|t krdVn}|t krdd|Vna|t krdVnM|t krdVn9|t kr d Vn%|tkr!dVn|j||VdS( NR"turls://uu@<%s>u]s %su=u *(R$R%t ORDERED_ITEMtUNORDERED_ITEMR(R)R*R R R+R,R-R.R/R0R (RRRtimplicit((sG/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/formats.pytendis2  #       ccs|tkr%dddVt|_n|tkrBdVt|_nu|tkr_dVt|_nX|tkrwd|Vn@|tkrdVn,|tkrt|Vnt st |dS(Nu%su-iFu u u!! %s !!u( tHRULERRt LINEBREAKt ENV_BREAKtERRORtNOINDENTtREFRR tAssertionError(RRR((sG/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/formats.pytentitys            N( RRt__doc__RRR R R3R4R'R1R6R>(((sG/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/formats.pyR s   / ( tsystrettokensRtobjectRtcompileRR(((sG/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/formats.pyts