Submit
Path:
~
/
/
usr
/
lib64
/
python3.6
/
site-packages
/
borg
/
__pycache__
/
File Content:
nanorst.cpython-36.pyc
3 y��b: � @ sf d dl Z d dlZddlmZ G dd� d�Zdd� Zddd �ZG d d� d�Zdd � Zdej fdd�Z dS )� N� )�is_terminalc @ s4 e Zd Zdd� Zdd� Zdd� Zdd� Zd d � ZdS )� TextPeckerc C s || _ d| _d S )Nr )�str�i)�self�s� r �/usr/lib64/python3.6/nanorst.py�__init__ s zTextPecker.__init__c C s$ | j |7 _ | j| j | | j � S )N)r r )r �nr r r �read s zTextPecker.readc C s@ |dkr| j | j| j| � S | j | j| d | jd � S d S )Nr r )r r )r r r r r �peek s zTextPecker.peekc C sF d}| j }x6|t| j�k r@| j| dkr@|| j| 7 }|d7 }qW |S )N� � r )r �lenr )r �outr r r r �peekline s zTextPecker.peeklinec C s | j � }| jt|�7 _|S )N)r r r )r r r r r �readline s zTextPecker.readlineN)�__name__� __module__�__qualname__r r r r r r r r r r s r c C s� | dkr4|dkr4|dd|� |j d� |dd|� nH|dd|� |j | j� � |j d� |dd|� |r||j |� |j d� d S )NZ containerZexperimental�textz**z++ Experimental ++z: r )�write�title)� directive� argumentsr � state_hookr r r �process_directive$ s r c C s� |p dd� }|pi }d}d}t | �} tj� }d}�x�| jd�}|sDP | jd�}|dk�r�|dkrp| jd�|krpq4| jd �dk�r ||kr�||kr�||||� |}q4|| ko�dkn r�||d |� d }| jd� q4|| ko�dkn �r||d |� d }| jd� q4| jd!�j� �r�|dk�r�| jd�d k�r�| jd� d} xL| jd�}|dk�rf| jd� P |dk�r~| jd� �qF| | jd�7 } �qFW y|j|| � W q4 tk �r� td| ��Y q4X q4|dk�r | jd�dk�r | jd� ||d|� d}|jd� q4| jd"�d#k�r�|| k�o.dkn �r�| jd� | j � j d�\} }}| jd� |�s�| dk�rtd}q4| dkr4d}q4t| |j� ||� q4||k�r�||k�r�||d|� d}|dkr4|jd$� q4|d k�r"|| k�o�dkn �r"||d|� d}| jd� |dkr4|jd%� q4|d k�rd|| k�o@dkn �rd||d|� d}| jd� q4|dk�r�|| k�o�dkn �r�| jd�dd� dk�r�||d|� d}|j|� q4W |dk�s�t d| ��|j� S )&z� Convert rST to a more human text form. This is a very loose conversion. No advanced rST features are supported. The generated output directly depends on the input (e.g. indentation of admonitions). c S s d S )Nr )� old_state� new_stater r r r �<lambda>; s zrst_to_text.<locals>.<lambda>r �replace�*�`r �\z**z``�:� zref:`r r um Undefined reference in Archiver help: %r — please add reference substitution to 'rst_plain_text_references'� z: z code-block� �.z::znanorst: inline-fillZfillznanorst: inline-replace� � Nz z>Invalid final state %r (This usually indicates unmatched */**))r# r$ ���r- ���)r) r z z )r �io�StringIOr r �isspacer �KeyError� ValueErrorr � partitionr �strip�AssertionError�getvalue) r r � references�stateZinline_moder Z inline_single�char�next�refr Zis_directiver r r r �rst_to_text3 s� * , & & >r= c @ sJ e Zd Zddd�Zedd� �Zdd� Zdd � Zd d� Zdd � Z dd� Z dS )� RstToTextLazyNc C s || _ || _|| _d | _d S )N)r r r8 �_rst)r r r r8 r r r r � s zRstToTextLazy.__init__c C s$ | j d krt| j| j| j�| _ | j S )N)r? r= r r r8 )r r r r �rst� s zRstToTextLazy.rstc C s t | j|�S )N)�getattrr@ )r �itemr r r �__getattr__� s zRstToTextLazy.__getattr__c C s | j S )N)r@ )r r r r �__str__� s zRstToTextLazy.__str__c C s | j | S )N)r@ )r �otherr r r �__add__� s zRstToTextLazy.__add__c C s t | j�S )N)�iterr@ )r r r r �__iter__� s zRstToTextLazy.__iter__c C s || j kS )N)r@ )r rB r r r �__contains__� s zRstToTextLazy.__contains__)NN)r r r r �propertyr@ rC rD rF rH rI r r r r r>