File: //kunden/lib/python3/dist-packages/breezy/__pycache__/_rio_py.cpython-39.pyc
a
�*�^�
� @ sJ d Z ddlmZ ddlZddlmZ e�d�Zdd� Zd d
� Z dd� Z
dS )
z(Python implementation of _read_stanza_*.� )�absolute_importN� )�Stanzaz^[-a-zA-Z0-9_]+$c C s t | t�st| ��tt�| ��S )N)�
isinstance�str� TypeError�bool�_tag_re�match)�tag� r �0/usr/lib/python3/dist-packages/breezy/_rio_py.py�
_valid_tag s
r c s � fdd�}t |� �S )Nc 3 s, � D ]"} t | t�st| ��| �d�V qd S )Nzutf-8)r �bytesr �decode)�line�� line_iterr r
�iter_unicode_lines% s
z-_read_stanza_utf8.<locals>.iter_unicode_lines)�_read_stanza_unicode)r r r r r
�_read_stanza_utf8$ s r c C s t � }d }d }| D ]�}|d u s&|dkr* q�|dkr6 q�|}|d dkrr|d u rZtd| ��|�d|dd� � q|d ur�|�|d�|�� z|�d�}W n ty� td | ��Y n0 t|d |� �}t|�s�td
|f ��||d d� g}q|d u�r|�|d�|�� |S d S d S )N� �
r � zinvalid continuation line %rr ���z: z(tag/value separator not found in line %rzinvalid rio tag %r� )r �
ValueError�append�add�join�indexr r )Zunicode_iterZstanzar Zaccum_valuer Zreal_lZcolon_indexr r r
r - s: �
r )�__doc__Z
__future__r �reZrior �compiler r r r r r r r
�<module> s