Re$@s*ddlmZmZmZddlmZmZmZddlm Z m Z m Z ddl m Z mZmZddlmZmZmZGdddeZGdd d eZGd d d eZGd d d eZGdddeZGdddeZGdddeZdS))EUCTW_CHAR_TO_FREQ_ORDEREUCTW_TABLE_SIZE EUCTW_TYPICAL_DISTRIBUTION_RATIO)EUCKR_CHAR_TO_FREQ_ORDEREUCKR_TABLE_SIZE EUCKR_TYPICAL_DISTRIBUTION_RATIO)GB2312_CHAR_TO_FREQ_ORDERGB2312_TABLE_SIZE!GB2312_TYPICAL_DISTRIBUTION_RATIO)BIG5_CHAR_TO_FREQ_ORDERBIG5_TABLE_SIZEBIG5_TYPICAL_DISTRIBUTION_RATIO)JIS_CHAR_TO_FREQ_ORDERJIS_TABLE_SIZEJIS_TYPICAL_DISTRIBUTION_RATIOc@speZdZdZdZdZdZddZddZd d Z d d Z d dZ ddZ dS)CharDistributionAnalysisigGz?g{Gz?cCsDd|_d|_d|_d|_d|_d|_|jdS)N)_char_to_freq_order _table_sizetypical_distribution_ratio_done _total_chars _freq_charsreset)selfr/builddir/build/BUILDROOT/alt-python35-pip-20.2.4-5.el8.x86_64/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/chardet/chardistribution.py__init__.s      z!CharDistributionAnalysis.__init__cCsd|_d|_d|_dS)zreset analyser, clear any stateFN)rrr)rrrrr=s  zCharDistributionAnalysis.resetcCst|dkr|j|}nd}|dkrp|jd7_||jkrpd|j|krp|jd7_dS)z"feed a character with known lengthrriN) get_orderrrrr)rcharchar_lenorderrrrfeedFs  zCharDistributionAnalysis.feedcCsr|jdks!|j|jkr(|jS|j|jkrk|j|j|j|j}||jkrk|S|jS)z(return confidence based on existing datar)rrMINIMUM_DATA_THRESHOLDSURE_NOrSURE_YES)rrrrrget_confidenceTs! z'CharDistributionAnalysis.get_confidencecCs|j|jkS)N)rENOUGH_DATA_THRESHOLD)rrrrgot_enough_datadsz(CharDistributionAnalysis.got_enough_datacCsdS)Nrr r)rbyte_strrrrr!isz"CharDistributionAnalysis.get_orderN) __name__ __module__ __qualname__r+r(r'r&rrr%r*r,r!rrrrr(s     rcs.eZdZfddZddZS)EUCTWDistributionAnalysiscs2tt|jt|_t|_t|_dS)N) superr1rrrrrrr)r) __class__rrrrs  z"EUCTWDistributionAnalysis.__init__cCs6|d}|dkr.d|d|ddSdSdS)Nr^rr r)rr- first_charrrrr!xs  z#EUCTWDistributionAnalysis.get_order)r.r/r0rr!rr)r3rr1qs r1cs.eZdZfddZddZS)EUCKRDistributionAnalysiscs2tt|jt|_t|_t|_dS)N) r2r8rrrrrrr)r)r3rrrs  z"EUCKRDistributionAnalysis.__init__cCs6|d}|dkr.d|d|ddSdSdS)Nrr5rr6r r)rr-r7rrrr!s  z#EUCKRDistributionAnalysis.get_order)r.r/r0rr!rr)r3rr8s r8cs.eZdZfddZddZS)GB2312DistributionAnalysiscs2tt|jt|_t|_t|_dS)N) r2r:rrrr rr r)r)r3rrrs  z#GB2312DistributionAnalysis.__init__cCsI|d|d}}|dkrA|dkrAd|d|dSdSdS)Nrrr9r6r5r r)rr-r7 second_charrrrr!sz$GB2312DistributionAnalysis.get_order)r.r/r0rr!rr)r3rr:s r:cs.eZdZfddZddZS)Big5DistributionAnalysiscs2tt|jt|_t|_t|_dS)N) r2r<rr rr rr r)r)r3rrrs  z!Big5DistributionAnalysis.__init__cCsd|d|d}}|dkr\|dkrEd|d|ddSd|d|dSndSdS) Nrrr6?@r r)rr-r7r;rrrr!s   z"Big5DistributionAnalysis.get_order)r.r/r0rr!rr)r3rr<s r<cs.eZdZfddZddZS)SJISDistributionAnalysiscs2tt|jt|_t|_t|_dS)N) r2rArrrrrrr)r)r3rrrs  z!SJISDistributionAnalysis.__init__cCs|d|d}}|dkr>|dkr>d|d}n1|dkrk|dkrkd|dd}nd S||d }|d krd }|S) Nrrr@r r r)rr-r7r;r$rrrr!s z"SJISDistributionAnalysis.get_order)r.r/r0rr!rr)r3rrAs rAcs.eZdZfddZddZS)EUCJPDistributionAnalysiscs2tt|jt|_t|_t|_dS)N) r2rIrrrrrrr)r)r3rrrs  z"EUCJPDistributionAnalysis.__init__cCs6|d}|dkr.d|d|ddSdSdS)Nrr5r6rr r)rr-r"rrrr!s  z#EUCJPDistributionAnalysis.get_order)r.r/r0rr!rr)r3rrIs rIN) euctwfreqrrr euckrfreqrrr gb2312freqrr r big5freqr r r jisfreqrrrobjectrr1r8r:r<rArIrrrrsI