U ʗRe%@sddlmZmZmZddlmZmZmZddlm Z m Z m Z ddl m Z mZmZddlmZmZmZddlmZGdddZGd d d eZGd d d eZGd ddeZGdddeZGdddeZGdddeZGdddeZdS))BIG5_CHAR_TO_FREQ_ORDERBIG5_TABLE_SIZEBIG5_TYPICAL_DISTRIBUTION_RATIO)EUCKR_CHAR_TO_FREQ_ORDEREUCKR_TABLE_SIZE EUCKR_TYPICAL_DISTRIBUTION_RATIO)EUCTW_CHAR_TO_FREQ_ORDEREUCTW_TABLE_SIZE EUCTW_TYPICAL_DISTRIBUTION_RATIO)GB2312_CHAR_TO_FREQ_ORDERGB2312_TABLE_SIZE!GB2312_TYPICAL_DISTRIBUTION_RATIO)JIS_CHAR_TO_FREQ_ORDERJIS_TABLE_SIZEJIS_TYPICAL_DISTRIBUTION_RATIO)JOHAB_TO_EUCKR_ORDER_TABLEc@sLeZdZdZdZdZdZddZddZd d Z d d Z d dZ ddZ dS)CharDistributionAnalysisigGz?g{Gz?cCs2t|_d|_d|_d|_d|_d|_|dSN)tuple_char_to_freq_order _table_sizetypical_distribution_ratio_done _total_chars _freq_charsresetselfr/builddir/build/BUILDROOT/alt-python38-pip-22.2.1-2.el8.x86_64/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/chardet/chardistribution.py__init__>sz!CharDistributionAnalysis.__init__cCsd|_d|_d|_dS)zreset analyser, clear any stateFN)rrrrrrr rMszCharDistributionAnalysis.resetcCsX|dkr||}nd}|dkrT|jd7_||jkrTd|j|krT|jd7_dS)z"feed a character with known lengthr"riN) get_orderrrrr)rcharchar_lenorderrrr feedVs  zCharDistributionAnalysis.feedcCsT|jdks|j|jkr|jS|j|jkrN|j|j|j|j}||jkrN|S|jS)z(return confidence based on existing datar")rrMINIMUM_DATA_THRESHOLDSURE_NOrSURE_YES)rrrrr get_confidenceds  z'CharDistributionAnalysis.get_confidencecCs |j|jkSr)rENOUGH_DATA_THRESHOLDrrrr got_enough_datausz(CharDistributionAnalysis.got_enough_datacCsdS)Nr$r)r_rrr r%zsz"CharDistributionAnalysis.get_orderN) __name__ __module__ __qualname__r/r,r+r*r!rr)r.r0r%rrrr r8s rcs$eZdZfddZddZZS)EUCTWDistributionAnalysiscs tt|_t|_t|_dSr)superr!rrr rr rr __class__rr r!s z"EUCTWDistributionAnalysis.__init__cCs,|d}|dkr(d|d|ddSdS)Nr"^rr$rrbyte_str first_charrrr r%sz#EUCTWDistributionAnalysis.get_orderr2r3r4r!r% __classcell__rrr7r r5s r5cs$eZdZfddZddZZS)EUCKRDistributionAnalysiscs tt|_t|_t|_dSrr6r!rrrrrrrr7rr r!s z"EUCKRDistributionAnalysis.__init__cCs,|d}|dkr(d|d|ddSdS)Nr"r:rr;r$rr<rrr r%sz#EUCKRDistributionAnalysis.get_orderr?rrr7r rAs rAcs$eZdZfddZddZZS)JOHABDistributionAnalysiscs tt|_t|_t|_dSrrBrr7rr r!s z"JOHABDistributionAnalysis.__init__cCs@|d}d|krdkrcoderrr r%s  z#JOHABDistributionAnalysis.get_orderr?rrr7r rDs rDcs$eZdZfddZddZZS)GB2312DistributionAnalysiscs tt|_t|_t|_dSr)r6r!r rr rr rrr7rr r!s z#GB2312DistributionAnalysis.__init__cCs:|d|d}}|dkr6|dkr6d|d|dSdS)Nr"rrCr;r:r$rrr=r> second_charrrr r%sz$GB2312DistributionAnalysis.get_orderr?rrr7r rJs rJcs$eZdZfddZddZZS)Big5DistributionAnalysiscs tt|_t|_t|_dSr)r6r!rrrrrrrr7rr r!s z!Big5DistributionAnalysis.__init__cCsR|d|d}}|dkrN|dkr:d|d|ddSd|d|dSdS) Nr"rr;?@r$rrKrrr r%s z"Big5DistributionAnalysis.get_orderr?rrr7r rMs rMcs$eZdZfddZddZZS)SJISDistributionAnalysiscs tt|_t|_t|_dSrr6r!rrrrrrrr7rr r!s z!SJISDistributionAnalysis.__init__cCs|d|d}}d|kr&dkr8nnd|d}n.d|krLdkrbnnd|dd}nd S||d }|d kr~d }|S) Nr"rr$rQr)rr=r>rLr(rrr r%s z"SJISDistributionAnalysis.get_orderr?rrr7r rRs rRcs$eZdZfddZddZZS)EUCJPDistributionAnalysiscs tt|_t|_t|_dSrrSrr7rr r!s z"EUCJPDistributionAnalysis.__init__cCs,|d}|dkr(d|d|ddSdS)Nr"r:r;rr$r)rr=r&rrr r%sz#EUCJPDistributionAnalysis.get_orderr?rrr7r r[s r[N)big5freqrrr euckrfreqrrr euctwfreqrr r gb2312freqr r r jisfreqrrr johabfreqrrr5rArDrJrMrRr[rrrr s J