o H_@s`ddlmZddlmZddlmZddlmZddlm Z ddl m Z m Z GdddeZ d S) )MultiByteCharSetProber)CodingStateMachine)SJISDistributionAnalysis)SJISContextAnalysis) SJIS_SM_MODEL) ProbingState MachineStatecsPeZdZfddZfddZeddZeddZd d Zd d Z Z S) SJISProbercs4tt|tt|_t|_t|_ | dSN) superr __init__rr coding_smrdistribution_analyzerrcontext_analyzerresetself __class__4/usr/lib/python3/dist-packages/chardet/sjisprober.pyr %s   zSJISProber.__init__cstt||jdSr )r r rrrrrrr,szSJISProber.resetcCs|jjSr )r charset_namerrrrr0szSJISProber.charset_namecCsdS)NJapaneserrrrrlanguage4szSJISProber.languagecCs@tt|D]y}|j||}|tjkr&|jd|j|j |t j |_ nZ|tj kr1t j|_ nO|tjkr|j}|dkr]|d|jd<|j|jd|d||j|j|q|j||d||d|||j||d|d|q|d|jd<|jt jkr|jr||jkrt j|_ |jS)Nz!%s %s prober hit error at byte %sr)rangelenr next_staterERRORloggerdebugrrrNOT_ME_stateITS_MEFOUND_ITSTARTget_current_charlen _last_charrfeedrstate DETECTINGgot_enough_dataget_confidenceSHORTCUT_THRESHOLD)rbyte_stri coding_statechar_lenrrrr+8sD       zSJISProber.feedcCs|j}|j}t||Sr )rr/rmax)r context_conf distrib_confrrrr/Ys   zSJISProber.get_confidence) __name__ __module__ __qualname__r rpropertyrrr+r/ __classcell__rrrrr $s    !r N)mbcharsetproberrcodingstatemachinerchardistributionrjpcntxrmbcssmrenumsrrr rrrrs