Sindbad~EG File Manager
3
,Ĝg^
� @ s� d dl Z d dlZd dlmZmZmZ ddlmZmZm Z m
Z
mZ ejd�Z
G dd� de j�ZG dd � d e j�ZG d
d� de j�ZG dd
� d
ee j�ZG dd� dee j�Zeee j d�dd�Ze je� dS )� N)�Any�Optional�Tuple� )� IDNAError�alabel�decode�encode�ulabelu [.。.。]c @ sD e Zd Zdeeeeef d�dd�Zd eeeeef d�dd�ZdS )
�Codec�strict)�data�errors�returnc C s. |dkrt dj|���|sdS t|�t|�fS )Nr zUnsupported error handling "{}"� r )r r )r �formatr �len)�selfr
r � r �*/tmp/pip-build-fsllo_ck/idna/idna/codec.pyr s
zCodec.encodec C s. |dkrt dj|���|sdS t|�t|�fS )Nr zUnsupported error handling "{}"� r )r r )r r r r )r r
r r r r r s
zCodec.decodeN)r )r ) �__name__�
__module__�__qualname__�strr �bytes�intr r r r r r r
s r c @ s( e Zd Zeeeeeef d�dd�ZdS )�IncrementalEncoder)r
r �finalr c
C s� |dkrt dj|���|sdS tj|�}d}|rV|d sDd}|d = n|sV|d
= |rVd}g }d}x2|D ]*}|jt|�� |r�|d7 }|t|�7 }qdW dj|�| } |t|�7 }| |fS )Nr zUnsupported error handling "{}"r r r � .)r r ���r r )r r �_unicode_dots_re�split�appendr r �join)
r r
r r �labels�trailing_dot�result�size�labelZresult_bytesr r r �_buffer_encode s0
z!IncrementalEncoder._buffer_encodeN) r r r r �boolr r r r* r r r r r s r c @ s( e Zd Zeeeeeef d�dd�ZdS )�IncrementalDecoder)r
r r r c
C s� |dkrt dj|���|sdS t|t�s2t|d�}tj|�}d}|rj|d sXd}|d
= n|sj|d= |rjd}g }d}x2|D ]*}|jt|�� |r�|d7 }|t|�7 }qxW dj |�| } |t|�7 }| |fS )Nr zUnsupported error handling "{}"r r �asciir �.)r r r r r )
r r �
isinstancer r! r"