
) X\
                 @   s`   d  d l  m Z d  d l m Z d  d l m Z d  d l m Z d Z Gd d   d e  Z	 d S)	   )	constants)CharSetProber)CodingStateMachine)UTF8SMModelg      ?c               @   sL   e  Z d  Z d d   Z d d   Z d d   Z d d   Z d	 d
   Z d S)
UTF8Proberc             C   s*   t  j |   t t  |  _ |  j   d  S)N)r   __init__r   r   
_mCodingSMreset)self r   T/home/ubuntu/projects/ifolica/build/requests/requests/packages/chardet/utf8prober.pyr   %   s    zUTF8Prober.__init__c             C   s'   t  j |   |  j j   d |  _ d  S)N    )r   r	   r   _mNumOfMBChar)r
   r   r   r   r	   *   s    zUTF8Prober.resetc             C   s   d S)Nzutf-8r   )r
   r   r   r   get_charset_name/   s    zUTF8Prober.get_charset_namec             C   s   x | D] } |  j  j |  } | t j k r> t j |  _ Pq | t j k r] t j |  _ Pq | t j k r |  j  j	   d k r |  j
 d 7_
 q q q W|  j   t j k r |  j   t j k r t j |  _ q n  |  j   S)N   r   )r   Z
next_stater   ZeErrorZeNotMeZ_mStateZeItsMeZeFoundItZeStartZget_current_charlenr   Z	get_stateZ
eDetectingget_confidenceZSHORTCUT_THRESHOLD)r
   aBufcZcodingStater   r   r   feed2   s    zUTF8Prober.feedc             C   sL   d } |  j  d k  rD x$ t d |  j   D] } | t } q( Wd | S| Sd  S)NgGz?   r   g      ?)r   rangeONE_CHAR_PROB)r
   Zunlikeir   r   r   r   E   s    zUTF8Prober.get_confidenceN)__name__
__module____qualname__r   r	   r   r   r   r   r   r   r   r   $   s
   r   N)
 r   Zcharsetproberr   Zcodingstatemachiner   Zmbcssmr   r   r   r   r   r   r   <module>   s
   