ó
öÀ„\c           @   s  d  Z  d d l Z d d l m Z d d l m Z d d l m Z d d l m	 Z	 d d l
 m Z d d l m Z m Z d d	 l m Z m Z e rß d d
 l m Z m Z m Z m Z m Z d d l m Z d d l m Z n  e j e ƒ Z d e f d „  ƒ  YZ  d „  Z! d S(   sÅ   
    sphinx.builders.text
    ~~~~~~~~~~~~~~~~~~~~

    Plain-text Sphinx builder.

    :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
    :license: BSD, see LICENSE for details.
iÿÿÿÿN(   t   path(   t   StringOutput(   t   Builder(   t   __(   t   logging(   t	   ensuredirt   os_path(   t
   TextWritert   TextTranslator(   t   Anyt   Dictt   Iteratort   Sett   Tuple(   t   nodes(   t   Sphinxt   TextBuilderc           B   sq   e  Z d  Z d  Z e d ƒ Z d Z e Z e	 Z
 d	 Z d „  Z d „  Z d	 d „ Z d „  Z d „  Z d „  Z RS(
   t   texts!   The text files are in %(outdir)s.s   .txtc         C   s   i  |  _  d  S(   N(   t
   secnumbers(   t   self(    (    s3   lib/python2.7/site-packages/sphinx/builders/text.pyt   init+   s    c         c   sÊ   xÃ |  j  j D]µ } | |  j  j k r0 | Vq n  |  j  j | |  j |  j ƒ } y t j | ƒ } Wn t k
 rz d } n Xy3 t j |  j  j | ƒ ƒ } | | k r­ | Vn  Wq t	 k
 rÁ q Xq Wd  S(   Ni    (
   t   envt
   found_docst   all_docst   doc2patht   outdirt
   out_suffixR    t   getmtimet	   Exceptiont   EnvironmentError(   R   t   docnamet
   targetnamet   targetmtimet   srcmtime(    (    s3   lib/python2.7/site-packages/sphinx/builders/text.pyt   get_outdated_docs0   s     
c         C   s   d S(   Nt    (    (   R   R   t   typ(    (    s3   lib/python2.7/site-packages/sphinx/builders/text.pyt   get_target_uriD   s    c         C   s   t  |  ƒ |  _ d  S(   N(   R   t   writer(   R   t   docnames(    (    s3   lib/python2.7/site-packages/sphinx/builders/text.pyt   prepare_writingH   s    c         C   sé   | |  _  |  j j j | i  ƒ |  _ t d d ƒ } |  j j | | ƒ t j	 |  j
 t | ƒ |  j ƒ } t t j | ƒ ƒ y5 t j | d d ƒ  } | j |  j j ƒ Wd  QXWn2 t t f k
 rä } t j t d ƒ | | ƒ n Xd  S(   Nt   encodings   utf-8t   ws   error writing file %s: %s(   t   current_docnameR   t   toc_secnumberst   getR   R   R&   t   writeR    t   joinR   R   R   R   t   dirnamet   codecst   opent   outputt   IOErrort   OSErrort   loggert   warningR   (   R   R   t   doctreet   destinationt   outfilenamet   ft   err(    (    s3   lib/python2.7/site-packages/sphinx/builders/text.pyt	   write_docL   s    	"c         C   s   d  S(   N(    (   R   (    (    s3   lib/python2.7/site-packages/sphinx/builders/text.pyt   finishZ   s    N(   t   __name__t
   __module__t   namet   formatR   t   epilogR   t   Truet   allow_parallelR   t   default_translator_classt   NoneR+   R   R"   R%   R(   R=   R>   (    (    (    s3   lib/python2.7/site-packages/sphinx/builders/text.pyR       s   				c         C   sr   |  j  t ƒ |  j d d d ƒ |  j d d d ƒ |  j d t d ƒ |  j d d d ƒ i d	 d
 6t d 6t d 6S(   Nt   text_sectioncharss   *=-~"+`R   t   text_newlinest   unixt   text_add_secnumberst   text_secnumber_suffixs   . t   builtint   versiont   parallel_read_safet   parallel_write_safe(   t   add_builderR   t   add_config_valueRD   (   t   app(    (    s3   lib/python2.7/site-packages/sphinx/builders/text.pyt   setup_   s    ("   t   __doc__R1   t   osR    t   docutils.ioR   t   sphinx.buildersR   t   sphinx.localeR   t   sphinx.utilR   t   sphinx.util.osutilR   R   t   sphinx.writers.textR   R   t   Falset   typingR	   R
   R   R   R   t   docutilsR   t   sphinx.applicationR   t	   getLoggerR?   R6   R   RT   (    (    (    s3   lib/python2.7/site-packages/sphinx/builders/text.pyt   <module>
   s   (?