o ain @ 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@ r"| jtt | jtt | jtj@ r0| jtt | jtj @ r>| jtt d | _d | _d | _d | _| 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-python310-pip-21.3.1-5.el8.x86_64/opt/alt/python310/lib/python3.10/site-packages/pip/_vendor/chardet/escprober.pyr * s zEscCharSetProber.__init__c sJ t t| | jD ]}|sq d|_| q t| j| _d | _d | _d S )NT) r r r r activelenr r r )r r r r r r : s zEscCharSetProber.resetc C | j S Nr r r r r charset_nameE zEscCharSetProber.charset_namec C r r! )r r# r r r languageI r% zEscCharSetProber.languagec C s | j rdS dS )NgGz?g r" r# r r r get_confidenceM s zEscCharSetProber.get_confidencec C s |D ]L}| j D ]F}|r|jsq||}|tjkr4d|_| jd8 _| jdkr3tj| _| j S q|tj krMtj| _| | _ |j| _| j S qq| j S )NFr )r r next_stater ERRORr r NOT_MEr stateITS_MEFOUND_ITget_coding_state_machiner r&