U ʗRe@sXddlmZddlmZddlmZmZmZddlm Z m Z m Z m Z GdddeZ dS)) CharSetProber)CodingStateMachine)LanguageFilter MachineState ProbingState) HZ_SM_MODELISO2022CN_SM_MODELISO2022JP_SM_MODELISO2022KR_SM_MODELcsVeZdZdZdfdd ZfddZeddZed d Zd d Z d dZ Z S)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. Ncstj|dg|_|jtj@r@|jtt|jtt |jtj @r\|jtt |jtj @rx|jtt d|_d|_d|_d|_|dS)N) lang_filter)super__init__ coding_smr rCHINESE_SIMPLIFIEDappendrrrJAPANESEr 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__csFt|jD]}|sqd|_|qt|j|_d|_d|_dS)NT)r rractivelenrrr)rrrrrr>s    zEscCharSetProber.resetcCs|jSNrrrrr charset_nameIszEscCharSetProber.charset_namecCs|jSr )rr"rrrlanguageMszEscCharSetProber.languagecCs|jr dSdS)NgGz?gr!r"rrrget_confidenceQszEscCharSetProber.get_confidencecCs|D]}|jD]}|r|jsq||}|tjkrhd|_|jd8_|jdkrtj|_|j Sq|tj krtj |_| |_ |j|_|j Sqq|j S)NFr)rr next_staterERRORrrNOT_MErstateITS_MEFOUND_ITget_coding_state_machinerr$r)rbyte_strcr coding_staterrrfeedTs"       zEscCharSetProber.feed)N) __name__ __module__ __qualname____doc__rrpropertyr#r$r%r1 __classcell__rrrrr 's   r N) charsetproberrcodingstatemachinerenumsrrrescsmrrr r r rrrrs