
۝Rc           @   s   d  d l  Z  d d l m Z d d l m Z d d l m Z d Z d Z d Z	 d	 Z
 d
 Z d Z e d Z d e f d     YZ d S(   iNi   (   t	   constants(   t   CharSetProber(   t   wrap_ordi@   i   gffffff?g?i   i   t   SingleByteCharSetProberc           B   s;   e  Z e d d   Z d   Z d   Z d   Z d   Z RS(   c         C   s6   t  j |   | |  _ | |  _ | |  _ |  j   d  S(   N(   R   t   __init__t   _mModelt
   _mReversedt   _mNameProbert   reset(   t   selft   modelt   reversedt
   nameProber(    (    s;   /usr/lib/python2.7/site-packages/chardet/sbcharsetprober.pyR   -   s
    			c         C   sE   t  j |   d |  _ d g t |  _ d |  _ d |  _ d |  _ d  S(   Ni   i    (   R   R   t   _mLastOrdert   NUMBER_OF_SEQ_CATt   _mSeqCounterst   _mTotalSeqst   _mTotalChart
   _mFreqChar(   R	   (    (    s;   /usr/lib/python2.7/site-packages/chardet/sbcharsetprober.pyR   6   s    			c         C   s%   |  j  r |  j  j   S|  j d Sd  S(   Nt   charsetName(   R   t   get_charset_nameR   (   R	   (    (    s;   /usr/lib/python2.7/site-packages/chardet/sbcharsetprober.pyR   @   s    	c         C   s  |  j  d s |  j |  } n  t |  } | s; |  j   Sx | D] } |  j  d t |  } | t k  r} |  j d 7_ n  | t k  r|  j d 7_ |  j	 t k  r|  j
 d 7_
 |  j s |  j	 t | } |  j  d | } n" | t |  j	 } |  j  d | } |  j | c d 7<qn  | |  _	 qB W|  j   t j k r|  j
 t k r|  j   } | t k rt j rt j j d |  j  d | f  n  t j |  _ q| t k  rt j rt j j d |  j  d | t f  n  t j |  _ qqn  |  j   S(   Nt   keepEnglishLettert   charToOrderMapi   t   precedenceMatrixs$   %s confidence = %s, we have awinner
R   s9   %s confidence = %s, below negativeshortcut threshhold %s
(   R   t   filter_without_english_letterst   lent	   get_stateR   t   SYMBOL_CAT_ORDERR   t   SAMPLE_SIZER   R   R   R   R   R    t
   eDetectingt   SB_ENOUGH_REL_THRESHOLDt   get_confidencet   POSITIVE_SHORTCUT_THRESHOLDt   _debugt   syst   stderrt   writet   eFoundItt   _mStatet   NEGATIVE_SHORTCUT_THRESHOLDt   eNotMe(   R	   t   aBuft   aLent   ct   ordert   iR
   t   cf(    (    s;   /usr/lib/python2.7/site-packages/chardet/sbcharsetprober.pyt   feedF   sF    
			c         C   sh   d } |  j  d k rd d |  j t |  j  |  j d } | |  j |  j } | d k rd d } qd n  | S(   Ng{Gz?i    g      ?t   mTypicalPositiveRatiogGz?(   R   R   t   POSITIVE_CATR   R   R   (   R	   t   r(    (    s;   /usr/lib/python2.7/site-packages/chardet/sbcharsetprober.pyR   p   s    #N(	   t   __name__t
   __module__t   Falset   NoneR   R   R   R/   R   (    (    (    s;   /usr/lib/python2.7/site-packages/chardet/sbcharsetprober.pyR   ,   s
   		
		*(   R"   t    R    t   charsetproberR   t   compatR   R   R   R    R'   R   R   R1   R   (    (    (    s;   /usr/lib/python2.7/site-packages/chardet/sbcharsetprober.pyt   <module>   s   
