ó
©i:Ec           @   sE  d  d l  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 d  d l m Z m Z m Z d Z d Z d	 Z d
 d d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d S(   i’’’’N(   t   EUCTWCharToFreqOrdert   EUCTW_TABLE_SIZEt    EUCTW_TYPICAL_DISTRIBUTION_RATIO(   t   EUCKRCharToFreqOrdert   EUCKR_TABLE_SIZEt    EUCKR_TYPICAL_DISTRIBUTION_RATIO(   t   GB2312CharToFreqOrdert   GB2312_TABLE_SIZEt!   GB2312_TYPICAL_DISTRIBUTION_RATIO(   t   Big5CharToFreqOrdert   BIG5_TABLE_SIZEt   BIG5_TYPICAL_DISTRIBUTION_RATIO(   t   JISCharToFreqOrdert   JIS_TABLE_SIZEt   JIS_TYPICAL_DISTRIBUTION_RATIOi   g®Gįz®ļ?g{®Gįz?t   CharDistributionAnalysisc           B   s>   e  Z d    Z d   Z d   Z d   Z d   Z d   Z RS(   c         C   s)   d  |  _ d  |  _ d  |  _ |  j   d  S(   N(   t   Nonet   _mCharToFreqOrdert   _mTableSizet   _mTypicalDistributionRatiot   reset(   t   self(    (    s<   /usr/lib/python2.7/dist-packages/chardet/chardistribution.pyt   __init__(   s    			c         C   s"   t  j |  _ d |  _ d |  _ d S(   s   reset analyser, clear any statei    N(   t	   constantst   Falset   _mDonet   _mTotalCharst   _mFreqChars(   R   (    (    s<   /usr/lib/python2.7/dist-packages/chardet/chardistribution.pyR   .   s    	c         C   s}   | d k r |  j  |  } n d } | d k ry |  j d 7_ | |  j k  ry d |  j | k rv |  j d 7_ qv qy n  d S(   s"   feed a character with known lengthi   i’’’’i    i   i   N(   t	   get_orderR   R   R   R   (   R   t   aStrt   aCharLent   order(    (    s<   /usr/lib/python2.7/dist-packages/chardet/chardistribution.pyt   feed4   s    c         C   sZ   |  j  d k r t S|  j  |  j k rV |  j |  j  |  j |  j } | t k  rV | Sn  t S(   s(   return confidence based on existing datai    (   R   t   SURE_NOR   R   t   SURE_YES(   R   t   r(    (    s<   /usr/lib/python2.7/dist-packages/chardet/chardistribution.pyt   get_confidenceB   s    c         C   s   |  j  t k S(   N(   R   t   ENOUGH_DATA_THRESHOLD(   R   (    (    s<   /usr/lib/python2.7/dist-packages/chardet/chardistribution.pyt   got_enough_dataP   s    c         C   s   d S(   Ni’’’’(    (   R   R   (    (    s<   /usr/lib/python2.7/dist-packages/chardet/chardistribution.pyR   U   s    (   t   __name__t
   __module__R   R   R    R$   R&   R   (    (    (    s<   /usr/lib/python2.7/dist-packages/chardet/chardistribution.pyR   '   s   					t   EUCTWDistributionAnalysisc           B   s   e  Z d    Z d   Z RS(   c         C   s,   t  j |   t |  _ t |  _ t |  _ d  S(   N(   R   R   R    R   R   R   R   R   (   R   (    (    s<   /usr/lib/python2.7/dist-packages/chardet/chardistribution.pyR   \   s    		c         C   s@   | d d k r8 d t  | d  d t  | d  d Sd Sd  S(   Ni    s   Äi^   iÄ   i   i”   i’’’’(   t   ord(   R   R   (    (    s<   /usr/lib/python2.7/dist-packages/chardet/chardistribution.pyR   b   s    ((   R'   R(   R   R   (    (    (    s<   /usr/lib/python2.7/dist-packages/chardet/chardistribution.pyR)   [   s   	t   EUCKRDistributionAnalysisc           B   s   e  Z d    Z d   Z RS(   c         C   s,   t  j |   t |  _ t |  _ t |  _ d  S(   N(   R   R   R   R   R   R   R   R   (   R   (    (    s<   /usr/lib/python2.7/dist-packages/chardet/chardistribution.pyR   m   s    		c         C   s@   | d d k r8 d t  | d  d t  | d  d Sd Sd  S(   Ni    s   °i^   i°   i   i”   i’’’’(   R*   (   R   R   (    (    s<   /usr/lib/python2.7/dist-packages/chardet/chardistribution.pyR   s   s    ((   R'   R(   R   R   (    (    (    s<   /usr/lib/python2.7/dist-packages/chardet/chardistribution.pyR+   l   s   	t   GB2312DistributionAnalysisc           B   s   e  Z d    Z d   Z RS(   c         C   s,   t  j |   t |  _ t |  _ t |  _ d  S(   N(   R   R   R   R   R   R   R   R   (   R   (    (    s<   /usr/lib/python2.7/dist-packages/chardet/chardistribution.pyR   ~   s    		c         C   sP   | d d k rH | d d k rH d t  | d  d t  | d  d Sd Sd  S(	   Ni    s   °i   s   ”i^   i°   i”   i’’’’(   R*   (   R   R   (    (    s<   /usr/lib/python2.7/dist-packages/chardet/chardistribution.pyR      s     ((   R'   R(   R   R   (    (    (    s<   /usr/lib/python2.7/dist-packages/chardet/chardistribution.pyR,   }   s   	t   Big5DistributionAnalysisc           B   s   e  Z d    Z d   Z RS(   c         C   s,   t  j |   t |  _ t |  _ t |  _ d  S(   N(   R   R   R	   R   R
   R   R   R   (   R   (    (    s<   /usr/lib/python2.7/dist-packages/chardet/chardistribution.pyR      s    		c         C   s   | d d k rw | d d k rL d t  | d  d t  | d  d d Sd t  | d  d t  | d  d	 Sn d
 Sd  S(   Ni    s   ¤i   s   ”i   i¤   i”   i?   i@   i’’’’(   R*   (   R   R   (    (    s<   /usr/lib/python2.7/dist-packages/chardet/chardistribution.pyR      s
    ,+(   R'   R(   R   R   (    (    (    s<   /usr/lib/python2.7/dist-packages/chardet/chardistribution.pyR-      s   	t   SJISDistributionAnalysisc           B   s   e  Z d    Z d   Z RS(   c         C   s,   t  j |   t |  _ t |  _ t |  _ d  S(   N(   R   R   R   R   R   R   R   R   (   R   (    (    s<   /usr/lib/python2.7/dist-packages/chardet/chardistribution.pyR   £   s    		c         C   s³   | d d k r; | d d k r; d t  | d  d } nC | d d k rz | d d k rz d t  | d  d d	 } n d
 S| t  | d  d } | d d k rÆ d
 } n  | S(   Ni    s   s   i¼   i   s   ąs   ļią   i   i’’’’i   i@   s   (   R*   (   R   R   R   (    (    s<   /usr/lib/python2.7/dist-packages/chardet/chardistribution.pyR   ©   s      	(   R'   R(   R   R   (    (    (    s<   /usr/lib/python2.7/dist-packages/chardet/chardistribution.pyR.   ¢   s   	t   EUCJPDistributionAnalysisc           B   s   e  Z d    Z d   Z RS(   c         C   s,   t  j |   t |  _ t |  _ t |  _ d  S(   N(   R   R   R   R   R   R   R   R   (   R   (    (    s<   /usr/lib/python2.7/dist-packages/chardet/chardistribution.pyR   ŗ   s    		c         C   s@   | d d k r8 d t  | d  d t  | d  d Sd Sd  S(   Ni    s    i^   i”   i   i’’’’(   R*   (   R   R   (    (    s<   /usr/lib/python2.7/dist-packages/chardet/chardistribution.pyR   Ą   s    ((   R'   R(   R   R   (    (    (    s<   /usr/lib/python2.7/dist-packages/chardet/chardistribution.pyR/   ¹   s   	(    (   R   t	   euctwfreqR    R   R   t	   euckrfreqR   R   R   t
   gb2312freqR   R   R   t   big5freqR	   R
   R   t   jisfreqR   R   R   R%   R"   R!   R   R)   R+   R,   R-   R.   R/   (    (    (    s<   /usr/lib/python2.7/dist-packages/chardet/chardistribution.pyt   <module>   s   4