Your IP : 216.73.216.213
��])D � @ s� d Z d Z d d l Z d d l Z d d l Z d d l Z d d l m Z d d l m Z d d l
m Z m Z m
Z
Gd d � d e � Z Gd d
� d
e � Z d d � Z Gd
d � d e � Z Gd d � d e � Z Gd d � d e � Z Gd d � d e � Z Gd d � d e � Z Gd d � d e � Z Gd d � d e � Z Gd d � d e � Z Gd d � d e � Z Gd d � d e � Z d S)!z
I/O classes provide a uniform API for low-level input and output. Subclasses
exist for a variety of input/output mechanisms.
ZreStructuredText� N)�
TransformSpec)�b)�locale_encoding�ErrorString�ErrorOutputc @ s e Z d Z d S)�
InputErrorN)�__name__�
__module__�__qualname__� r r �</opt/alt/python35/lib/python3.5/site-packages/docutils/io.pyr s r c @ s e Z d Z d S)�OutputErrorN)r r r
r r r r r
s r
c
C sI y# t j | j � t j | � k SWn t t t f k
rD d SYn Xd S)aN Test, whether the encoding of `stream` matches `encoding`.
Returns
:None: if `encoding` or `stream.encoding` are not a valid encoding
argument (e.g. ``None``) or `stream.encoding is missing.
:True: if the encoding argument resolves to the same value as `encoding`,
:False: if the encodings differ.
N)�codecs�lookup�encoding�LookupError�AttributeError� TypeError)�streamr r r r �check_encoding s
#r c @ s� e Z d Z d Z d Z d Z d d d d d d � Z d d � Z d d
� Z d d � Z e
j e d
� � Z
e j d f e j d f e j d f f Z d d � Z d S)�Inputz1
Abstract base class for input wrappers.
�inputN�strictc C sC | | _ | | _ | | _ | | _ | s6 | j | _ d | _ d S)N)r �
error_handler�source�source_path�default_source_path�successful_encoding)�selfr r r r r r r �__init__2 s zInput.__init__c C s d | j | j | j f S)Nz%s: source=%r, source_path=%r)� __class__r r )r r r r �__repr__F s zInput.__repr__c C s
t � d S)N)�NotImplementedError)r r r r �readJ s z
Input.readc C sT | j r9 | j j � d k r9 t | t � s9 t d � � t | t � rL | S| j rd | j g } nC | j | � } | r� | g } n"