
V^                 @   s   d  d l  m Z d  d l Z d  d l Z d  d l Z d d   Z e j j Z	 d d d  Z
 d d d	  Z d d
 d  Z d Z d d d  Z e d k r e e   e j d  \ Z Z d e j k r e e j    q e e e   n  d S)    )BeautifulSoupNc             C   s   t  |  d  S)Nlxml)r   )inp r   //extra/hacker/creation/stories/code/markdown.pyBeautifulSoupSucks   s    r   Fc             C   s   d  } z y | rn t  j d d g d t  j d t  j } | j j |  j d d  j d   | j j   n t  j d |  g d t  j } | j j	   j
 d  SWn | r | j   n    Yn XWd  | r | j   n  Xd  S)Nmarkdown-stdinstdout
z

zutf-8)sPopenPIPEr
   writereplaceencodecloser   readdecode	terminatewait)sourcer
   pidr   r   r   run   s    '%r   c             C   s  t  t |  |   } d d   } | } x | rt | d  ra t | j  ra | j d } q* n  t | d  r d | j k r | |  n  | j r | j } q* q* | j r| j } xX | rt | d  r d | j k r | |  n  | j r | j } Pq | j } q Wq* Pq* W| S)Nc             S   ss   |  j  d =t t d j d d   |  j D  d   } |  j j   x' | j d  j D] } |  j |  qX Wd  S)Nmd c             s   s   |  ] } t  |  Vq d  S)N)str).0eer   r   r   	<genexpr>*   s   z%get.<locals>.mdify.<locals>.<genexpr>Tbody)attrsr   r   joincontentsclearfindappend)curderper   r   r   mdify'   s    
zget.<locals>.mdifyr$   r   r"   r   )r   r   hasattrlenr$   r"   Znext_siblingparent)r   r
   docr+   r(   r   r   r   get   s.    									r0   c       	      C   s  t  |   } t | d  } | j d  p- | } | r~ | j   t | j  } | j d  j |  | j d  j |  n  | j d  } | r | j } n	 | g } | j d  } x@ | r | d } | j   | j	 d  k s t
  | j |  q W| j   | | f S)NFtitleZintitler!   content   )r   r0   r&   extractr   stringr'   Zreplace_withr$   r.   AssertionErrorinsert_afterZ	decompose)	templater   ZdefaultTitleZtmplmkr1   Zbodr2   r)   r   r   r   r   J   s(    
		


r   a	  <?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml">
  <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>
ztemplate.xhtmlc             C   s   t  j j d  } | s! |  } n  t  j j |  rX t | d   } | j   SWd  QXn  t | d   } | j t  Wd  QXt S)Nr9   ZrtZwt)	osenvironr0   pathexistsopenr   r   defaultTemplate)defaultr9   r   outr   r   r   getTemplatei   s    	rC   __main__r3   Zpretty)bs4r   
subprocessr   r;   sysr   r=   r#   ojr   r0   r   r@   rC   __name__argvr/   r1   r<   printZprettifyr   r   r   r   r   <module>   s   -