0 
Wc               @   su  d  d l  m Z d  d l m Z m Z m Z m Z d  d l Z d  d l	 Z	 d  d l
 Z
 d  d l Z d   Z e  d  Z d Z e  d e d e j  Z e  d	 e d
 e j  Z d   Z d   Z d   Z d d  Z d   Z d   Z d d  Z d Z d d  Z e d k rqe e   e
 j d  \ Z Z d e	 j  k r^e! e "    n e! e# e   n  d S(   i    (   u   BeautifulSoup(   u   NavigableStringu   PreformattedStringu   Commentu   PageElementNc             C   s   t  |  d  S(   Nu   html.parser(   s   BeautifulSoup(   s   inp(    (    s'   /home/creation/stories/code/markdown.pys   BeautifulSoupSucks   s    u   
+u   \s*
\s*u   ^u   (.*)u   (.*?)u   $c             C   s   |  j  d k S(   N>   u   au   bu   spanu   iu   qu   su   uu   small(   s   name(   s   e(    (    s'   /home/creation/stories/code/markdown.pys   inline   s    c             C   sT   t  |  d  s d Sd |  j k r0 |  j d =d Sd |  j k rC d Sd |  j d k S(   Nu   attrsFu   mdTu   classu   author(   s   hasattrs   attrs(   s   cur(    (    s'   /home/creation/stories/code/markdown.pys   needsMD   s     
 c             C   s-   d } x  |  j  r( | d 7} |  j  }  q	 W| S(   Ni    i   (   s   parent(   s   es   c(    (    s'   /home/creation/stories/code/markdown.pys   depth   s     	
Fc             C   s\   | r# d |  d }  t  |   } n5 t |   ' } d |    d }  t  |   } Wd  QX| S(   Nu   <body>u   </body>(   s   BeautifulSoupSuckss   opens   read(   s   sources   stdins   docs   inp(    (    s'   /home/creation/stories/code/markdown.pys   get$   s    c             C   s5   t   d  } t |  d t |    d  d   S(   Nu   [
	]+u    i   (   s   res   compiles   reprs   subs   str(   s   es   space(    (    s'   /home/creation/stories/code/markdown.pys   fuckyou.   s    c                s   G f d   d  } G f d   d |  } d      f d       d    x5 t   d  r t   j  d	 k r   j d
   q\ W   f d   } |    S(   Nc                sA   |  Ee  Z d  Z d  Z d Z d   Z d   Z   f d   Z d  S(   NTc             C   s(   | |  _  | |  _  |  j s$ t  d  S(   N(   s   starts   tags   endeds   AssertionError(   s   selfs   tags   start(    (    s'   /home/creation/stories/code/markdown.pys   __init__7   s    		c             C   s*   |  j  s d  S|  j   d  d |  _ d  S(   Nu   
T(   s   curs   appends   ended(   s   self(    (    s'   /home/creation/stories/code/markdown.pys   end;   s    	 c                s   |  j  s |  j Sd |  _     |  j  |  _  |  j s@ t  |  j d  k rh |  j  d |  j  n |  j  |  j  |  j |  _ |  j S(   NFi    (	   s   endeds   curs   new_tags   tags   AssertionErrors   befores   starts   inserts   insert_after(   s   self(   s   doc(    s'   /home/creation/stories/code/markdown.pys   current?   s    		(   s   __name__s
   __module__s   befores   curs   endeds   __init__s   ends   current(   s
   __locals__(   s   doc(    s'   /home/creation/stories/code/markdown.pys   Thingy3   s   
		u   Thingyc                s,   |  Ee  Z d     f d  Z d   Z   S(   Tc                s?       | r d n d  } |  |  t    d |  d  S(   Nu   olu   ulu   li(   s   new_tags   appends   supers   __init__(   s   selfs   starts   ordereds   top(   s   docs
   @__class__(    s'   /home/creation/stories/code/markdown.pys   __init__M   s    c             C   s*   |  j  r d  S|  j  d  d |  _  d  S(   Nu   
T(   s   endeds   curs   insert_before(   s   self(    (    s'   /home/creation/stories/code/markdown.pys   endQ   s    	 (   s   __name__s
   __module__s   __init__s   end(   s
   __locals__(   s   doc(   s
   @__class__s'   /home/creation/stories/code/markdown.pys
   ListThingyL   s   
u
   ListThingyc             3   s  g    t    }   f d   } g  } x0 |  rV |  j } |  |   |     | }  q' Wx| D]x}  t |  t  r    |   q^ t |  t  rt  |   } | r | 	 d  r   r |   Vn  | 	 d  }  n  t
  |     o  d d k }  f d    D   rx9  d  d  D]' } | s=q+n     |  |   Vq+W| r d r    d  |   Vn  n  d r    d  n  n  n-   r|  j d k r|   Vn     |   q^ W  r|   Vn  d  S(   Nc                 s     }  g    |  S(   N(    (   s   ret(   s   group(    s'   /home/creation/stories/code/markdown.pys   commit]   s    i   iu    c                s   g  |  ] }   r |  q S(    (    (   s   .0s   line(   s   lines(    s'   /home/creation/stories/code/markdown.pys
   <listcomp>v   s    >   u   emu   au   bu   spanu   iu   su   u(   s   sets   next_siblings   appends   extracts
   isinstances   Comments   NavigableStrings   nlStarts   matchs   groups   nls   splits   name(   s   es   seens   commits   ess   nextes   ms   end_newlines   line(    (   s   groups   liness'   /home/creation/stories/code/markdown.pys   linesZ   sR    	 	

   

c          
      s,  d   y  j  d Wn t k
 r) d  SXx   j  d  D]       f d   }     f d   }  d  k r d }     f d   } |   r   s t      |   n |   q> t   d t  r$  d  d  s
  d  d  s
n
 |   n d   |   n  q> Wd  S(   Ni    c                 so    d d d   }   d d   }     d  } |  |   x | D] } |  |  qG W  |  d  S(   Ni    i   i   u   li(   s   new_tags   append(   s   heads   tails   lis   e(   s   docs   groups   cur_list(    s'   /home/creation/stories/code/markdown.pys	   derp_list   s     c                 s   t    d k r: t  d t  s:    d  d  S   d  }  d } x'  D] } | pe | } |   |  qV W| r   |   n  d  S(   Ni   i    u   pF(   s   lens
   isinstances   strs   appends   new_tag(   s   ps   gotsomes   e(   s   docs   groups   cur(    s'   /home/creation/stories/code/markdown.pys   derp_p   s    % Tc                  sq    s
 d St   d t  s! d S d  d  rG    d   d S d  d  rm    d   d Sd S(   NFi    u   - u   olTu   * u   ul(   s
   isinstances   strs
   startswiths   new_tag(    (   s   docs   groups   cur_list(    s'   /home/creation/stories/code/markdown.pys   maybe_listaderp   s     u   - u   * (   s   contentss
   IndexErrors   AssertionErrors   appends
   isinstances   strs
   startswith(   s   curs	   derp_lists   derp_ps   pythonsuckss   maybe_listaderp(   s   docs   lines(   s   groups   curs   cur_lists'   /home/creation/stories/code/markdown.pys   mdify   s,       	

)
u   bodyu   contentsi   i    c                 s   x   r t    d  r: t   j  r:   j d   q n  t    rS     n    j rh   j   q   j r   j   xb   r   j }    j d k r     d  St    r     n  |  r |    Pq}   j   q} Wn Pq Wd  S(   Nu   contentsi    u   body(   s   hasattrs   lens   contentss   needsMDs   next_siblings   parents   name(   s   nextcur(   s   curs   mdify(    s'   /home/creation/stories/code/markdown.pys   mdifyAll   s0     			 	
(   s   finds   hasattrs   lens   contents(   s   docs   Thingys
   ListThingys   mdifyAll(    (   s   curs   docs   liness   mdifys'   /home/creation/stories/code/markdown.pys   process2   s    	14 $
c       	      C   s  t  |   } t | d  } |  d  p- | } | r~ |    t | j  } |  d   |  |  d   |  n  t |  } |  d  } | r | j	 } n	 | g } |  d  } xC | r| d } |     | j
 d  k s t  |  |  q W|    | | f S(   NFu   titleu   intitleu   bodyu   contenti(   s   BeautifulSoupSuckss   gets   finds   extracts   strs   strings   appends   replace_withs   processs   contentss   parents   AssertionErrors   insert_afters	   decompose(	   s   templates   sources   defaultTitles   tmpls   mks   titles   bods   contents   derp(    (    s'   /home/creation/stories/code/markdown.pys   markdown   s,    
	 


u   <!DOCTYPE html>
<html>
  <head><meta charset="utf-8">
  <title/><link type="text/css" href="styles.css" rel="stylesheet" />
  </head>
<body><div id="page"><h1><intitle/></h1><content/></div></body></html>
u   template.xhtmlc             C   s}   t  j  d  } | s! |  } n  t  j  |  rT t | d   } |    SQXn  t | d   } |  t  Wd  QXt S(   Nu   templateu   rtu   wt(	   s   oss   environs   gets   paths   existss   opens   reads   writes   defaultTemplate(   s   defaults   templates   inps   out(    (    s'   /home/creation/stories/code/markdown.pys   getTemplate
  s    	u   __main__i   u   pretty($   s   bs4s   BeautifulSoups   bs4.elements   NavigableStrings   PreformattedStrings   Comments   PageElements
   subprocesss   ss   oss   syss   res   BeautifulSoupSuckss   compiles   nls   NLPATs   DOTALLs   nlStarts   nlEnds   inlines   needsMDs   depths   gets   fuckyous   processs   markdowns   defaultTemplates   getTemplates   __name__s   argvs   docs   titles   environs   prints   prettifys   str(    (    (    s'   /home/creation/stories/code/markdown.pys   <module>   s,   "$					
		