ó
v˘oQc           @   sĽ   d  Z  d Z d d l Z d d l m Z m Z m Z d d l m Z e j	 d k  rf d d l
 m Z n  d	 e f d
     YZ d e f d     YZ i  Z d   Z d S(   s0   
This package contains Docutils Reader modules.
t   reStructuredTexti˙˙˙˙N(   t   utilst   parserst	   Component(   t	   universali   i   (   t
   __import__t   Readerc           B   sV   e  Z d  Z d Z d Z d   Z d	 d	 d  Z d   Z d   Z	 d   Z
 d   Z RS(
   sů   
    Abstract base class for docutils Readers.

    Each reader module or package must export a subclass also called 'Reader'.

    The two steps of a Reader's responsibility are `scan()` and
    `parse()`.  Call `read()` to process a document.
    t   readert   readersc         C   s#   t  j |   t j t j t j g S(   N(   R   t   get_transformsR   t   Decorationst   ExposeInternalst   StripComments(   t   self(    (    s=   /usr/lib/python2.7/dist-packages/docutils/readers/__init__.pyR	   !   s    c         C   sA   | |  _  | d k r+ | r+ |  j |  n  d |  _ d |  _ d S(   sˇ   
        Initialize the Reader instance.

        Several instance attributes are defined with dummy initial values.
        Subclasses may use these attributes as they wish.
        N(   t   parsert   Nonet
   set_parsert   sourcet   input(   R   R   t   parser_name(    (    s=   /usr/lib/python2.7/dist-packages/docutils/readers/__init__.pyt   __init__'   s    			c         C   s   t  j |  } |   |  _ d S(   s   Set `self.parser` by name.N(   R   t   get_parser_classR   (   R   R   t   parser_class(    (    s=   /usr/lib/python2.7/dist-packages/docutils/readers/__init__.pyR   =   s    c         C   sJ   | |  _  |  j s | |  _ n  | |  _ |  j  j   |  _ |  j   |  j S(   N(   R   R   t   settingst   readR   t   parset   document(   R   R   R   R   (    (    s=   /usr/lib/python2.7/dist-packages/docutils/readers/__init__.pyR   B   s    			
c         C   s=   |  j    |  _ } |  j j |  j |  d | _ | _ d S(   s(   Parse `self.input` into a document tree.N(   t   new_documentR   R   R   R   R   t   current_sourcet   current_line(   R   R   (    (    s=   /usr/lib/python2.7/dist-packages/docutils/readers/__init__.pyR   K   s    c         C   s   t  j |  j j |  j  } | S(   s8   Create and return a new empty document tree (root node).(   R   R   R   t   source_pathR   (   R   R   (    (    s=   /usr/lib/python2.7/dist-packages/docutils/readers/__init__.pyR   Q   s    N(   t   __name__t
   __module__t   __doc__t   component_typet   config_sectionR	   R   R   R   R   R   R   (    (    (    s=   /usr/lib/python2.7/dist-packages/docutils/readers/__init__.pyR      s   						t   ReReaderc           B   s   e  Z d  Z d   Z RS(   s   
    A reader which rereads an existing document tree (e.g. a
    deserializer).

    Often used in conjunction with `writers.UnfilteredWriter`.
    c         C   s   t  j |   S(   N(   R   R	   (   R   (    (    s=   /usr/lib/python2.7/dist-packages/docutils/readers/__init__.pyR	   `   s    (   R   R    R!   R	   (    (    (    s=   /usr/lib/python2.7/dist-packages/docutils/readers/__init__.pyR$   W   s   c         C   s   |  j    }  |  t k r% t |  }  n  y" t |  t   t   d d } Wn/ t k
 rx t |  t   t   d d } n X| j S(   s6   Return the Reader class from the `reader_name` module.t   leveli   i    (   t   lowert   _reader_aliasesR   t   globalst   localst   ImportErrorR   (   t   reader_namet   module(    (    s=   /usr/lib/python2.7/dist-packages/docutils/readers/__init__.pyt   get_reader_classh   s    ""(   i   i   (   R!   t   __docformat__t   syst   docutilsR   R   R   t   docutils.transformsR   t   version_infot   docutils._compatR   R   R$   R'   R-   (    (    (    s=   /usr/lib/python2.7/dist-packages/docutils/readers/__init__.pyt   <module>   s   D