
RTc           @   sj   d  d l  Z  d  d l Z d d l Td   Z d e f d     YZ e j d  Z d e f d	     YZ d S(
   iNi   (   t   *c         C   s   d |  f S(   Ns   <<<%s>>>(    (   t   txt(    (    sG   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/formats.pyt   placeholder   s    t
   BaseFormatc           B   s   e  Z e Z RS(    (   t   __name__t
   __module__t   Truet
   text_based(    (    (    sG   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/formats.pyR      s   s   [\n ]+t   Formatc           B   sd   e  Z d  Z d   Z d   Z d	 d  Z i d e 6d e 6Z	 d	 d  Z
 d	 d  Z d	 d  Z RS(
   s   The 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.c         C   s(   t  |  _ t  |  _ d  |  _ t |  _ d  S(   N(   t   Falset   start_of_listt   start_of_tablet   Nonet	   link_textR   t   eat_nl(   t   self(    (    sG   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/formats.pyt   __init__   s    			c         c   s`   |  j  r$ | j d  } t |  _  n  t j d |  } |  j d k	 rW |  j | 7_ n  | Vd S(   sS   Escape special characters in text, intended to be plain text,
        as necessary.s   
t    N(   R   t   lstripR	   t
   SPACES_PATt   subR   R   (   R   t   text(    (    sG   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/formats.pyR      s    	c         C   s   | t  k r d S| t k r  d S| t k r0 d S| t k r@ d S| t k rP d S| t k r` d S| t k rp d S| t k r d Sd Sd  S(   Nu   *u   /u    u   ^u   ,u   _u   -(   t   BOLDt   ITALICt	   MONOSPACEt   SUPERSCRIPTt	   SUBSCRIPTt	   UNDERLINEt   STRIKEt	   CODEBLOCK(   R   t   tt   arg(    (    sG   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/formats.pyt   tag%   s"    t   #R    c         c   s  | t  t t f k r: | d k r2 d GHt |  _ n  d Vn| |  j k r |  j r[ d } n d } t |  _ d GH| d | |  j | d Vn/| t k r |  j r d } n d } t |  _ | d | d Vn | t k r d Vn | t	 k r d |  _
 d Vn | t k rd	 Vn | t k r0d
 d | Vn | t k rMt |  _ d Vnp | t k rad Vn\ | t k rud VnH | t k r|  j rt |  _ d Vqd Vt |  _ n |  j | |  Vd  S(   Ni   s   sol!t    u    u   
s   sol.u    u   >t   [s   %s u   =u   	u   	* (   t   ORDEREDt	   UNORDEREDt
   BLOCKQUOTER   R
   t   LIST_MAPR	   t   BLOCKQUOTE_LINEt	   PARAGRAPHt   LINKR   t   IMAGEt   HEADINGt   TABLER   t
   TABLE_CELLt   TABLE_HEADINGt	   TABLE_ROWR   R    (   R   R   R   t   start(    (    sG   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/formats.pyR1   :   sR    										c         c   s6  | t  t f k r d Vn| t t t f k r7 d Vn | t k rK d Vn | t k r | d |  j k ow d | d k } d  |  _ | r d Vq2d | d Vn | t	 k r d Vn} | t
 k r d d | Vna | t k r d VnM | t k r d Vn9 | t k rd	 Vn% | t k r!d Vn |  j | |  Vd  S(
   NR"   t   urls   ://u    u   @<%s>u   ]s    %su   =u    *(   R$   R%   t   ORDERED_ITEMt   UNORDERED_ITEMR(   R)   R*   R   R   R+   R,   R-   R.   R/   R0   R    (   R   R   R   t   implicit(    (    sG   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/formats.pyt   endi   s2    #	c         c   s   | t  k r% d d d Vt |  _ n | t k rB d Vt |  _ nu | t k r_ d Vt |  _ nX | t k rw d | Vn@ | t k r d Vn, | t k r t |  Vn t	 s t
 |   d  S(   Nu   %su   -iF   u   
u   

u   !! %s !!u    (   t   HRULER   R   t	   LINEBREAKt	   ENV_BREAKt   ERRORt   NOINDENTt   REFR   R	   t   AssertionError(   R   R   R   (    (    sG   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/formats.pyt   entity   s     N(   R   R   t   __doc__R   R   R   R    R3   R4   R'   R1   R6   R>   (    (    (    sG   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/formats.pyR      s   		/(	   t   syst   ret   tokensR   t   objectR   t   compileR   R   (    (    (    sG   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/formats.pyt   <module>   s
   
	