3
Ren @ sX d dl mZ d dlmZ d dlmZmZmZ d dlm Z m
Z
mZmZ G dd deZ
dS ) )
CharSetProber)CodingStateMachine)LanguageFilterProbingStateMachineState)HZ_SM_MODELISO2022CN_SM_MODELISO2022JP_SM_MODELISO2022KR_SM_MODELc sV e Zd ZdZd fdd Z fddZedd 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| jjtt | jjtt
| jtj@ r`| jjtt | jtj
@ r|| jjtt d | _d | _d | _d | _| j d S )N)lang_filter)superr __init__ coding_smr r CHINESE_SIMPLIFIEDappendr r r JAPANESEr KOREANr
active_sm_count_detected_charset_detected_language_statereset)selfr ) __class__ /builddir/build/BUILDROOT/alt-python36-pip-20.2.4-5.el9.x86_64/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/chardet/escprober.pyr * s zEscCharSetProber.__init__c sN t t| j x"| jD ]}|s qd|_|j qW t| j| _d | _d | _d S )NT) r
r r r activelenr 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 )N)r )r r r r languageI s zEscCharSetProber.languagec C s | j r
dS dS d S )NgGz?g )r )r r r r get_confidenceM s zEscCharSetProber.get_confidencec C s x|D ]}x| j D ]}| s|j r&q|j|}|tjkrhd|_| jd8 _| jdkrtj| _| j S q|tj
krtj| _|j | _
|j| _| j S qW qW | j S )NFr )r r
next_stater ERRORr r NOT_MEr stateITS_MEFOUND_ITget_coding_state_machiner r r )r byte_strcr coding_stater r r feedS s"
zEscCharSetProber.feed)N)__name__
__module____qualname____doc__r r propertyr r r! r-
__classcell__r r )r r r # s r N)
charsetproberr codingstatemachiner enumsr r r escsmr r r r
r r r r r