bgvddlmZmZddlmZddlmZddlmZm Z m Z ddl m Z m Z mZmZGddeZd S) )OptionalUnion) CharSetProber)CodingStateMachine)LanguageFilter MachineState ProbingState) HZ_SM_MODELISO2022CN_SM_MODELISO2022JP_SM_MODELISO2022KR_SM_MODELceZdZdZejfdeddffd Zd fd Zede e fdZ ede e fdZ de fd Zd eeefdefd ZxZS) 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_filterreturnNct|g|_|jtjzrX|jtt|jtt|jtj zr,|jtt|jtj zr,|jttd|_d|_d|_t"j|_|dS)N)rr)super__init__ coding_smrrCHINESE_SIMPLIFIEDappendrr r JAPANESEr KOREANractive_sm_count_detected_charset_detected_languager DETECTING_statereset)selfr __class__s H/opt/cloudlinux/venv/lib64/python3.11/site-packages/chardet/escprober.pyrzEscCharSetProber.__init__0s [111  n? ? J N ! !"4["A"A B B B N ! !"45G"H"H I I I  n5 5 J N ! !"45G"H"H I I I  n3 3 J N ! !"45G"H"H I I I 0415",  ct|jD]}d|_|t |j|_d|_d|_dS)NT)rr ractivelenrrr)r!rr"s r#r zEscCharSetProber.reset@sh    I#I  OO    "4>22!%"&r$c|jSNrr!s r# charset_namezEscCharSetProber.charset_nameIs %%r$c|jSr))rr+s r#languagezEscCharSetProber.languageMs &&r$c|jrdndS)NgGz?gr*r+s r#get_confidencezEscCharSetProber.get_confidenceQs-7tt47r$byte_strc|D]}|jD]}|js ||}|tjkr?d|_|xjdzc_|jdkrt j|_|j ccSn|tj krAt j |_| |_ |j|_|j ccS|j S)NFrr)rr& next_stater ERRORrr NOT_MErstateITS_MEFOUND_ITget_coding_state_machinerr.r)r!r1cr coding_states r#feedzEscCharSetProber.feedTs & &A!^ & &  '(33A66 <#555',I$((A-((+q00&2&9 #z)))))1"\%888"."7DK-6-O-O-Q-QD*.7.@D+:%%%%% 9 & zr$)rN)__name__ __module__ __qualname____doc__rNONErr propertyrstrr,r.floatr0rbytes bytearrayr r< __classcell__)r"s@r#rr)s 6D5HNT ''''''&hsm&&&X&'(3-'''X'88888U5)#34r$rN)typingrr charsetproberrcodingstatemachinerenumsrr r escsmr r r rrr$r#rNs8#"""""""((((((222222===============}=====r$