U
ʗRe @ sX d dl mZ d dlmZ d dlmZmZmZ d dlm Z m
Z
mZmZ G dd deZ
dS ) )
CharSetProber)CodingStateMachine)LanguageFilterMachineStateProbingState)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 j|d g | _| jtj@ r@| jtt | jtt | jtj
@ r\| jtt | jtj@ rx| jtt
d | _d | _d | _d | _| d S )N)lang_filter)super__init__ coding_smr r CHINESE_SIMPLIFIEDappendr r r JAPANESEr KOREANr
active_sm_count_detected_charset_detected_language_statereset)selfr __class__ /builddir/build/BUILDROOT/alt-python38-pip-22.2.1-2.el8.x86_64/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/chardet/escprober.pyr . s zEscCharSetProber.__init__c sF t | jD ]}|sqd|_| qt| j| _d | _d | _d S )NT)r
r r activelenr r r )r r r r r r > s
zEscCharSetProber.resetc C s | j S Nr r r r r charset_nameI s zEscCharSetProber.charset_namec C s | j S r )r r" r r r languageM s zEscCharSetProber.languagec C s | j r
dS dS )NgGz?g r! r" r r r get_confidenceQ s zEscCharSetProber.get_confidencec C s |D ]}| j D ]}|r|jsq||}|tjkrhd|_| jd8 _| jdkrtj| _| j S q|tj
krtj| _| | _
|j| _| j S qq| 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 feedT s"
zEscCharSetProber.feed)N)__name__
__module____qualname____doc__r r propertyr# r$ r% r1
__classcell__r r r r r ' s
r N)
charsetproberr codingstatemachiner enumsr r r escsmr r r r
r r r r r