B <_9Y¾ã@s`ddlmZddlmZddlmZddlmZddlm Z ddl m Z m Z Gdd„deƒZ d S) é)ÚMultiByteCharSetProber)ÚCodingStateMachine)ÚSJISDistributionAnalysis)ÚSJISContextAnalysis)Ú SJIS_SM_MODEL)Ú ProbingStateÚ MachineStatecsPeZdZ‡fdd„Z‡fdd„Zedd„ƒZedd„ƒZd d „Zd d „Z ‡Z S) Ú SJISProbercs4tt|ƒ ¡ttƒ|_tƒ|_tƒ|_ |  ¡dS)N) Úsuperr Ú__init__rrÚ coding_smrÚdistribution_analyzerrÚcontext_analyzerÚreset)Úself)Ú __class__©úC/opt/alt/python37/lib/python3.7/site-packages/chardet/sjisprober.pyr %s  zSJISProber.__init__cstt|ƒ ¡|j ¡dS)N)r r rr)r)rrrr,szSJISProber.resetcCs|jjS)N)rÚ charset_name)rrrrr0szSJISProber.charset_namecCsdS)NZJapaneser)rrrrÚlanguage4szSJISProber.languagecCsLxtt|ƒƒD]ò}|j ||¡}|tjkrP|j d|j|j |¡t j |_ Pq|tj krft j|_ Pq|tjkr|j ¡}|dkr¾|d|jd<|j |jd|d…|¡|j |j|¡q|j ||d||d|…|¡|j ||d|d…|¡qW|d|jd<|jt jkrF|j ¡rF| ¡|jkrFt j|_ |jS)Nz!%s %s prober hit error at byte %séréééÿÿÿÿ)ÚrangeÚlenr Z next_staterÚERRORZloggerÚdebugrrrZNOT_MEÚ_stateZITS_MEZFOUND_ITZSTARTZget_current_charlenZ _last_charrÚfeedr ÚstateZ DETECTINGZgot_enough_dataÚget_confidenceZSHORTCUT_THRESHOLD)rZbyte_strÚiZ coding_stateZchar_lenrrrr8s6      zSJISProber.feedcCs|j ¡}|j ¡}t||ƒS)N)rr!r Úmax)rZ context_confZ distrib_confrrrr!Ys  zSJISProber.get_confidence) Ú__name__Ú __module__Ú __qualname__r rÚpropertyrrrr!Ú __classcell__rr)rrr $s     !r N)ZmbcharsetproberrZcodingstatemachinerZchardistributionrZjpcntxrZmbcssmrZenumsrrr rrrrÚs