f v d dl mZmZ ddlmZ ddlmZ ddlmZm Z m
Z
ddlmZm
Z
mZmZ G d de Zd S )
)OptionalUnion )
CharSetProber)CodingStateMachine)LanguageFilterMachineStateProbingState)HZ_SM_MODELISO2022CN_SM_MODELISO2022JP_SM_MODELISO2022KR_SM_MODELc e Zd ZdZej fdeddf fd
Zd fdZede e
fd Zede e
fd Zde
fd Zd
eeef defdZ xZS )
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.
lang_filterreturnNc t | g | _ | j t j z rX| j t t | j t t | j t j
z r,| j t t | j t j z r,| j t t d| _ d | _ d | _ t" j | _ | d S )N)r r )super__init__ coding_smr r CHINESE_SIMPLIFIEDappendr r r JAPANESEr
KOREANr active_sm_count_detected_charset_detected_languager
DETECTING_statereset)selfr __class__s F/opt/cloudlinux/venv/lib/python3.11/site-packages/chardet/escprober.pyr zEscCharSetProber.__init__0 s
[111n?? JN!!"4["A"ABBBN!!"45G"H"HIIIn55 JN!!"45G"H"HIIIn33 JN!!"45G"H"HIII 0415",
c t | j D ]}d|_ | t | j | _ d | _ d | _ d S )NT)r r r activelenr r r )r! r r" s r# r zEscCharSetProber.reset@ sh
I#IOO"4>22!%"&r$ c | j S Nr r! s r# charset_namezEscCharSetProber.charset_nameI s %%r$ c | j S r) )r r+ s r# languagezEscCharSetProber.languageM s &&r$ c | j rdndS )NgGz?g r* r+ s r# get_confidencezEscCharSetProber.get_confidenceQ s -7tt47r$ byte_strc |D ]}| j D ]}|j s
| | }|t j k r?d|_ | xj dz c_ | j dk rt j | _ | j c c S n|t j
k rAt j | _ | | _
|j | _ | j c c S | j S )NFr r )r r&