File: //usr/lib/python3.6/site-packages/docutils/__pycache__/core.cpython-36.pyc
3
t2�e�s � @ sT d Z dZddlZddlZddlmZmZmZ ddlmZm Z m
Z
mZmZ ddl
mZ ddlmZ ddlmZmZ ddlZG d d
� d
�ZdZdZdd
ddddddddddeefdd�Zd"dd�Zd#dd�Zde jddd
dddddddddfdd�Zde jdd
dddddddfdd�Zd$dd�Zdd
ddddddddddeede jfdd�Z d d!� Z!dS )%a�
Calling the ``publish_*`` convenience functions (or instantiating a
`Publisher` object) with component names will result in default
behavior. For custom behavior (setting component options), create
custom component objects first, and pass *them* to
``publish_*``/`Publisher`. See `The Docutils Publisher`_.
.. _The Docutils Publisher: http://docutils.sf.net/docs/api/publisher.html
ZreStructuredText� N)�__version__�__version_details__�SettingsSpec)�frontend�io�utils�readers�writers)�OptionParser)�Transformer)�ErrorOutput�ErrorStringc @ s� e Zd ZdZddddejdejdfdd�Zdd� Zdd� Z d d
� Z
d&dd�Zd'd
d�Zdd� Z
d(dd�Zd)dd�Zd*dd�Zd+dd�Zdd� Zd,dd�Zdd� Zd d!� Zd"d#� Zd$d%� ZdS )-� PublisherzK
A facade encapsulating the high-level logic of a Docutils system.
Nc
C sz d| _ || _|| _|| _x6dD ].} tt| | �t� stdt| | �| | f ��qW || _|| _ || _
|| _|| _t
� | _dS )z�
Initial setup. If any of `reader`, `parser`, or `writer` are not
specified, the corresponding ``set_...`` method should be called with
a component name (`set_reader` sets the parser as well).
N�reader�parser�writerz�passed string "%s" as "%s" parameter; pass an instance, or use the "%s_name" parameter instead (in docutils.core.publish_* convenience functions).)r r r )�documentr r r �
isinstance�getattr�str�AssertionError�source�source_class�destination�destination_class�settingsr �_stderr)
�selfr r r r r r r r Z component� r �/usr/lib/python3.6/core.py�__init__ s
zPublisher.__init__c C s$ t j|�}|||�| _| jj| _dS )zSet `self.reader` by name.N)r Zget_reader_classr r )r �reader_namer �parser_nameZreader_classr r r �
set_readerP s
zPublisher.set_readerc C s t j|�}|� | _dS )zSet `self.writer` by name.N)r Zget_writer_classr )r �writer_nameZwriter_classr r r �
set_writerV s
zPublisher.set_writerc C s^ | j d kr| j|| j|� | jd krF| j jd kr<| j j|� | j j| _| jd krZ| j|� d S )N)r r# r Z
set_parserr r% )r r! r"