관리-도구
편집 파일: codec.cpython-38.pyc
U ��.e� � @ s� d dl mZmZmZmZmZ ddlZddlZe�d�Z G dd� dej �Z G dd� dej�ZG d d � d ej �ZG dd� de ej�ZG d d� de ej�Zdd� ZdS )� )�encode�decode�alabel�ulabel� IDNAError� Nu [.。.。]c @ s e Zd Zddd�Zddd�ZdS ) �Codec�strictc C s. |dkrt d�|���|sdS t|�t|�fS �Nr � Unsupported error handling "{0}"�� r )r �formatr �len��self�data�errors� r �:/usr/lib/python3.8/site-packages/pip/_vendor/idna/codec.pyr s zCodec.encodec C s. |dkrt d�|���|sdS t|�t|�fS r )r r r r r r r r r s zCodec.decodeN)r )r )�__name__� __module__�__qualname__r r r r r r r s r c @ s e Zd Zdd� ZdS )�IncrementalEncoderc C s� |dkrt d�|���|sdS t�|�}d}|rV|d sDd}|d= n|sV|d= |rVd}g }d}|D ]*}|�t|�� |r�|d7 }|t|�7 }qbd�|�| }|t|�7 }||fS ) Nr r r r ����.r r )r r �_unicode_dots_re�split�appendr r �join� r r r �final�labelsZtrailing_dot�result�sizeZlabelr r r �_buffer_encode s0 z!IncrementalEncoder._buffer_encodeN)r r r r% r r r r r s r c @ s e Zd Zdd� ZdS )�IncrementalDecoderc C s� |dkrt d�|���|sdS t|t�r4t�|�}nt|�}t|d� |�d�}d}|r~|d sld}|d= n|s~|d= |r~d}g }d}|D ]*}|�t|�� |r�|d 7 }|t |�7 }q�d� |�| }|t |�7 }||fS ) Nr r r �asciir r r r r )r r � isinstanceZunicoder r �strr r r r r r r r �_buffer_decode? s8 z!IncrementalDecoder._buffer_decodeN)r r r r* r r r r r&