Re$ @ s* d d l m Z m Z m Z d d l m Z m Z m Z d d l m Z m Z m Z d d l m Z m Z m Z d d l m Z m Z m Z Gd d d e Z Gd d d e Z Gd d d e Z Gd d d e Z Gd d d e Z Gd d d e Z Gd d d e Z d S) )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 @ sp e Z d Z d Z d Z d Z d Z d d Z d d Z d d Z d d Z d d Z d d Z d S)CharDistributionAnalysisi gGz?g{Gz? c C sD d | _ d | _ d | _ d | _ d | _ d | _ | j d S)N)_char_to_freq_order_table_sizetypical_distribution_ratio_done_total_chars_freq_charsreset)self r /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__c C s d | _ d | _ d | _ d S)zreset analyser, clear any stateF N)r r r )r r r r r = s zCharDistributionAnalysis.resetc C st | d k r | j | } n d } | d k rp | j d 7_ | | j k rp d | j | k rp | j d 7_ d S)z"feed a character with known length r r i N) get_orderr r r r )r charchar_lenorderr r r feedF s zCharDistributionAnalysis.feedc C sr | j d k s! | j | j k r( | j S| j | j k rk | j | j | j | j } | | j k rk | S| j S)z(return confidence based on existing datar )r r MINIMUM_DATA_THRESHOLDSURE_NOr SURE_YES)r rr r r get_confidenceT s !z'CharDistributionAnalysis.get_confidencec C s | j | j k S)N)r ENOUGH_DATA_THRESHOLD)r r r r got_enough_datad s z(CharDistributionAnalysis.got_enough_datac C s d S)Nr r r )r byte_strr r r r! i s z"CharDistributionAnalysis.get_orderN) __name__ __module____qualname__r+ r( r' r&