관리-도구
편집 파일: escprober.cpython-38.pyc
U ��.en � @ sX d dl mZ d dlmZ d dlmZmZmZ d dlm Z m Z mZmZ G dd� de�Z dS )� )� CharSetProber)�CodingStateMachine)�LanguageFilter�ProbingState�MachineState)�HZ_SM_MODEL�ISO2022CN_SM_MODEL�ISO2022JP_SM_MODEL�ISO2022KR_SM_MODELc sV e Zd ZdZd� fdd� Z� fdd�Zedd� �Zed d � �Zdd� Z d d� Z � ZS )�EscCharSetProberz� This CharSetProber uses a "code scheme" approach for detecting encodings, whereby easily recognizable escape or shift sequences are relied on to identify these encodings. Nc s� t t| �j|d� g | _| jtj@ rD| j�tt �� | j�tt �� | jtj@ r`| j�tt�� | jtj @ r|| j�tt�� d | _d | _d | _d | _| �� d S )N)�lang_filter)�superr �__init__� coding_smr r ZCHINESE_SIMPLIFIED�appendr r r ZJAPANESEr ZKOREANr �active_sm_count�_detected_charset�_detected_language�_state�reset)�selfr �� __class__� �A/usr/lib/python3.8/site-packages/pip/_vendor/chardet/escprober.pyr * s zEscCharSetProber.__init__c sJ t t| ��� | jD ]}|sqd|_|�� qt| j�| _d | _d | _d S )NT) r r r r �active�lenr r r )r r r r r r : s zEscCharSetProber.resetc C s | j S �N�r �r r r r �charset_nameE s zEscCharSetProber.charset_namec C s | j S r )r r r r r �languageI s zEscCharSetProber.languagec C s | j r dS dS d S )Ng�G�z��?g r r r r r �get_confidenceM s zEscCharSetProber.get_confidencec C s� |D ]�}| j D ]�}|r|jsq|�|�}|tjkrhd|_| jd8 _| jdkr�tj| _| j S q|tj krtj| _|�� | _ |j| _| j S qq| j S )NFr � )r r Z next_stater ZERRORr r ZNOT_MEr �stateZITS_MEZFOUND_ITZget_coding_state_machiner r! r )r Zbyte_str�cr Zcoding_stater r r �feedS s"