Ñò
ë{½Jc           @   s“   d  d k  Z  d  d k Z d  d k l Z d  d k l Z d  d k Z e i d ƒ d  d k Z d  d k Z d  d k	 l
 Z
 d e f d „  ƒ  YZ d S(   iÿÿÿÿN(   t   glob(   t   Commands   Kid >= 0.6.4(   t   logt   GenSitec           B   sï   e  Z d  Z d1 d2 d3 d4 d5 d6 d7 d8 d9 d: d; g Z d
 g Z d< Z d" Z d# Z e	 Z
 d< Z d< Z d< Z d< Z d< Z d$ Z e	 Z d% „  Z d& „  Z e	 d' „ Z d( „  Z d) „  Z d* „  Z e d< d+ „ Z d, „  Z d- „  Z d. „  Z d/ d0 „ Z RS(=   s5   setuptools command to generate the TurboGears websites   srcdirs=t   ss7   directories containing the source files (default: docs)s   destdir=t   ds1   destination output directory (default: dist/site)s	   encoding=t   es#   encoding for output (default: utf8)t   forcet   fs   regenerate all filess   ignoredirs=t   is1   directories to ignore (default: ['.svn', '.cvs'])s   ignorefiles=t   xs3   files to ignore (default: ['.*\.pyc', '.DS_Store'])s	   nodelete=t   ls-   directories to leave alone rather than deletes
   templates=t   tsJ   mapping of templates to load (format: name=templatefile,name=templatefile)s	   copydirs=t   csM   copy files from these directories without template proc. (destdir=srcdir,...)t   noprintablet   Ns)   don't make printable version of tutorialss   eggdir=t   gsB   which directory has the eggs in it (default: '../thirdparty/eggs')s	   dist/sitet   utf8s   ../thirdparty/eggsc         C   s   d  S(   N(    (   t   self(    (    so   /afs/athena.mit.edu/user/x/a/xavid/lib/python2.6/site-packages/TurboGears-1.1rc1-py2.6.egg/turbogears/docgen.pyt   initialize_options+   s    c         C   sj  |  i  d  j o d g |  _  n |  i  d j o g  |  _  n |  i d ƒ |  i d d ƒ |  i d d ƒ |  i d  j o d d	 g |  _ n |  i d
 ƒ |  i d  j o d d g |  _ n |  i d  j o d g |  _ n |  i d ƒ |  i d ƒ g  } x' |  i D] } | i t i	 | ƒ ƒ qW| |  _
 |  i |  i t ƒ \ |  _ |  _ |  i |  i ƒ |  _ d  S(   Nt   docst    t   srcdirst   destdirs	   dist/sitet   encodingR   s   .svns   .cvst
   ignoredirss   .*\.pycs	   .DS_Stores   dist/site/previewt   nodeletet   ignorefiles(   R   t   Nonet   ensure_string_listt   ensure_stringR   R   R   t   appendt   ret   compilet   ignorepatternst   _split_mappingt	   templatest   Truet   templates_ordert   copydirs(   R   t   regexest   pat(    (    so   /afs/athena.mit.edu/user/x/a/xavid/lib/python2.6/site-packages/TurboGears-1.1rc1-py2.6.egg/turbogears/docgen.pyt   finalize_options.   s.    
 	!c   	      C   s›   h  } g  } | or t  | t ƒ ob t i d | ƒ } xM | D]A } t i d | ƒ \ } } t i i | ƒ | | <| i | ƒ q< Wn | o | | f S| S(   Ns   ,\s*s   \s*=\s*(   t
   isinstancet
   basestringR    t   splitt   ost   patht   abspathR   (	   R   t
   valToSplitt   preserve_ordert   mappingt   ordert   pairst   pairt   namet   filename(    (    so   /afs/athena.mit.edu/user/x/a/xavid/lib/python2.6/site-packages/TurboGears-1.1rc1-py2.6.egg/turbogears/docgen.pyR#   H   s     c         C   sK   t  i i | ƒ } t  i i | ƒ o t  i i | ƒ } n d } | | j S(   Ni    (   R.   R/   t   getmtimet   exists(   R   t   srct   destt   srcmtimet	   destmtime(    (    so   /afs/athena.mit.edu/user/x/a/xavid/lib/python2.6/site-packages/TurboGears-1.1rc1-py2.6.egg/turbogears/docgen.pyt   check_if_newerU   s
    c         C   sk   |  i  p |  i | | ƒ oJ t i i | ƒ } t i i | ƒ p t i | ƒ n |  i | | ƒ n d  S(   N(   R   R?   R.   R/   t   dirnameR:   t   makedirst	   copy_file(   R   R;   R<   R   (    (    so   /afs/athena.mit.edu/user/x/a/xavid/lib/python2.6/site-packages/TurboGears-1.1rc1-py2.6.egg/turbogears/docgen.pyt   copy_if_newer]   s
    c   	      C   s0  |  i  o |  i | | ƒ o d  S|  i p t i d | ƒ n t i d | ƒ d  St i | d t ƒ} |  i | i	 _ d | } | t
 |  i ƒ d } t i d t i t i i | ƒ ƒ ƒ } | i d |  i d | d	 | d
 | d |  i ƒ } | i d d ƒ } t | d ƒ } | i | ƒ | i ƒ  d  S(   Ns   rendering %ss   skipping rendering %st   caches   ../i   s	   %b %d, %YR   t   roott   updatedt   destfilet   eggss   $$t   $t   w(   R   R?   t   dry_runR   t   infot   kidt   load_templatet   Falset
   serializert   Templatet   lenR   t   timet   strftimet	   localtimeR.   R/   R9   t	   serializeR   RH   t   replacet   opent   writet   close(	   R   R;   R<   t   deptht   templatet   torootRG   RF   t   output(    (    so   /afs/athena.mit.edu/user/x/a/xavid/lib/python2.6/site-packages/TurboGears-1.1rc1-py2.6.egg/turbogears/docgen.pyt   render_templated   s"    

'c         C   sN  | p |  i  } n x3t i | ƒ D]"\ } } } | | j oV | t | ƒ d } | i t i ƒ } t | ƒ i |  i ƒ o q$ n t | ƒ }	 n d } d }	 t i	 i
 | | ƒ }
 t i	 i |
 ƒ pA |  i p" t i d |
 ƒ t i |
 ƒ qt i d |
 ƒ n x8| D]0} t } t i	 i | ƒ } x, |  i D]! } | i | ƒ o t } Pq:q:W| o qn x/ |  i i ƒ  D] } | | j o t } Pq}q}W| o qn t i	 i | ƒ d } t i	 i
 |
 | ƒ } |  i i | ƒ | p | d j o# |  i t i	 i
 | | ƒ | ƒ q|  i t i	 i
 | | ƒ | |	 ƒ qWq$ Wd  S(   Ni   R   i    s   creating directory %ss   skipping creating directory %ss   .html(   R   R.   t   walkRR   R-   t   sept   sett   intersectionR   R/   t   joinR:   RK   R   RL   RA   RO   R0   R"   t   matchR%   R$   t   valuest   splitextt   currentfilest   addRC   R_   (   R   t   srcdirt   processTemplatest   destrootRE   t   dirst   filest   fromroott   segmentsR[   R   t   filet   ignoret   absR)   t   tempfilet   extR<   (    (    so   /afs/athena.mit.edu/user/x/a/xavid/lib/python2.6/site-packages/TurboGears-1.1rc1-py2.6.egg/turbogears/docgen.pyt   update_site_filesy   sX     
 
 	 	c         C   sä   xÝ t  i |  i ƒ D]É \ } } } t } x, |  i D]! } | i | ƒ o t } Pq2 q2 W| o q n xt | D]l } t  i i | | ƒ } | |  i	 j oA |  i
 p" t i d | ƒ t  i | ƒ qØ t i d | ƒ ql ql Wq Wd  S(   Ns   deleting %ss   skipping deleting %s(   R.   R`   R   RO   R   t
   startswithR%   R/   Rd   Rh   RK   R   RL   t   unlink(   R   RE   Rm   Rn   t
   leavealoneR@   Rq   R<   (    (    so   /afs/athena.mit.edu/user/x/a/xavid/lib/python2.6/site-packages/TurboGears-1.1rc1-py2.6.egg/turbogears/docgen.pyt   delete_excess_files©   s$     
 	 
c         C   s"  |  i  } t i d | ƒ t i i | ƒ p" t i d | ƒ t i | ƒ n xH |  i D]= } |  i | } t i d | | f ƒ t	 i
 | d | ƒqY W|  i o{ |  i i d ƒ p |  i d 7_ n t |  i ƒ } g  } t |  i d ƒ D] } | | | qñ ~ |  _ |  i i ƒ  n t ƒ  |  _ t	 i d |  i ƒ |  _ x |  i D] } |  i | ƒ qMWx£ |  i i ƒ  D]’ \ } }	 t i i |	 ƒ o/ |  i |	 d t d	 t i i |  i  | ƒ ƒqtt i i |  i  t i i | ƒ ƒ }
 |  i |	 |
 ƒ |  i i |
 ƒ qtW|  i  ƒ  |  i! ƒ  d  S(
   Ns   generating website to %ss   creating %ss   template %s loaded as %sR7   t   /t   *R   Rk   Rl   ("   R   R   RL   R.   R/   R:   RA   R&   R$   RM   RN   t   eggdirt   endswithRR   R    RH   t   sortRb   Rh   t   HTMLSerializerR   RP   R   Rv   R'   t   itemst   isdirRO   Rd   t   normpathRC   Ri   t   printable_tutorialRz   (   R   R   R7   R8   t   choplent   _[1]t   fnR   R<   R;   RG   (    (    so   /afs/athena.mit.edu/user/x/a/xavid/lib/python2.6/site-packages/TurboGears-1.1rc1-py2.6.egg/turbogears/docgen.pyt   run»   s>    	
 
5
  $
c         C   sQ   |  i  o d  S|  i t i i d d d ƒ d ƒ |  i t i i d d ƒ ƒ d  S(   NR   t	   tutorialst   wiki20i   (   R   t   _make_printableR.   R/   Rd   (   R   (    (    so   /afs/athena.mit.edu/user/x/a/xavid/lib/python2.6/site-packages/TurboGears-1.1rc1-py2.6.egg/turbogears/docgen.pyR„   à   s    
"i   c         C   s©  | } t  i i |  i d | ƒ } y d d k l } Wn– t j
 oŠ y d d  k } WqÏ t j
 od y d d k l } WqÊ t j
 o: y d d k l } WqÅ t j
 o t d ‚ qÅ XqÊ XqÏ Xn Xd } t  i	 | ƒ } | i
 ƒ  x¹ | D]± } | i d ƒ p qõ n t i d | ƒ | i t  i i | | ƒ ƒ } | i d	 ƒ }	 t |	 i |	 i d
 ƒ ƒ | i |	 ƒ }
 |
 i d d ƒ }
 |
 i d d ƒ }
 | |
 7} qõ W| d 7} | i d d ƒ } t i d | d d | ƒ } |  i | _ t  i i |  i | ƒ } t  i i | ƒ p t  i | ƒ n t  i i | d ƒ } d | GHt | d ƒ } | i d |  i ƒ } | i d d ƒ } | i | ƒ | i ƒ  |  i  i! | ƒ d  S(   Ni    iÿÿÿÿ(   t   cElementTree(   t   ElementTrees   ElementTree not installed.sz  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?python import printable ?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#" py:extends="printable">
<head>
 <meta content="text/html; charset=UTF-8" http-equiv="content-type" />
 <link rel="stylesheet" type="text/css" href="../../default.css" py:attrs="href=root+'default.css'"/>
 <link type="text/css" rel="stylesheet" href="../../sh/SyntaxHighlighter.css" py:attrs="href=root+'sh/SyntaxHighlighter.css'"></link>
 <title>TurboGears: 20 Minute Wiki Tutorial</title>
</head>
<body>
s   .htmls   combining %ss"   {http://www.w3.org/1999/xhtml}bodys$   {http://www.w3.org/1999/xhtml}scripts   </html:body>R   s5   <html:body xmlns:html="http://www.w3.org/1999/xhtml">sÈ  <script src="../../sh/shCore.js" py:attrs="src=root+'sh/shCore.js'"></script>
<script src="../../sh/shBrushPython.js" py:attrs="src=root+'sh/shBrushPython.js'"></script>
<script src="../../sh/shBrushXml.js" py:attrs="src=root+'sh/shBrushXml.js'"></script>
<script src="../../sh/shBrushJScript.js" py:attrs="src=root+'sh/shBrushJScript.js'"></script>
<script language="javascript">
        dp.SyntaxHighlighter.HighlightAll('code');
</script>
</body></html>s   html:t   sourceRE   s   ../s   printable.htmls   combined output: %sRJ   R   s   $${s   ${("   R.   R/   Rd   R   t	   xml.etreeRŒ   t   ImportErrorR   t   elementtreet   listdirR   R~   R   RL   t   parset   findt   mapt   removet   findallt   tostringRW   RM   RQ   RP   R   R:   RA   RX   RV   R   RY   RZ   Rh   Ri   (   R   t   tutdirt
   up_to_roott   endpathR   t	   masterdocR   t   doct   treet   bodyt   bodytextR\   t   destendt   outfnt   outfile(    (    so   /afs/athena.mit.edu/user/x/a/xavid/lib/python2.6/site-packages/TurboGears-1.1rc1-py2.6.egg/turbogears/docgen.pyR‹   æ   s\    
 	
(   s   srcdirs=R   s7   directories containing the source files (default: docs)(   s   destdir=R   s1   destination output directory (default: dist/site)(   s	   encoding=R   s#   encoding for output (default: utf8)(   s   forceR   s   regenerate all files(   s   ignoredirs=R	   s1   directories to ignore (default: ['.svn', '.cvs'])(   s   ignorefiles=R
   s3   files to ignore (default: ['.*\.pyc', '.DS_Store'])(   s	   nodelete=R   s-   directories to leave alone rather than delete(   s
   templates=R   sJ   mapping of templates to load (format: name=templatefile,name=templatefile)(   s	   copydirs=R   sM   copy files from these directories without template proc. (destdir=srcdir,...)(   s   noprintableR   s)   don't make printable version of tutorials(   s   eggdir=R   sB   which directory has the eggs in it (default: '../thirdparty/eggs')N(   t   __name__t
   __module__t   __doc__t   user_optionst   boolean_optionsR   R   R   R   RO   R   R   R   R   R$   R'   R}   R   R   R*   R#   R?   RC   R_   R%   Rv   Rz   Rˆ   R„   R‹   (    (    (    so   /afs/athena.mit.edu/user/x/a/xavid/lib/python2.6/site-packages/TurboGears-1.1rc1-py2.6.egg/turbogears/docgen.pyR      sF   							0		%	(   R.   RS   R    t
   setuptoolsR   t   pkg_resourcest   requireRM   R    t	   distutilsR   R   (    (    (    so   /afs/athena.mit.edu/user/x/a/xavid/lib/python2.6/site-packages/TurboGears-1.1rc1-py2.6.egg/turbogears/docgen.pyt   <module>   s   