î
)Ú XÄ  ã               @   sF   d  d l  Z  d d l m Z d d l m Z Gd d „  d e ƒ Z d S)é    Né   )Ú	constants)ÚCharSetProberc               @   sL   e  Z d  Z d d „  Z d d „  Z d d „  Z d d „  Z d	 d
 „  Z d S)ÚMultiByteCharSetProberc             C   s2   t  j |  ƒ d  |  _ d  |  _ d d g |  _ d  S)Nr   )r   Ú__init__Ú_mDistributionAnalyzerÚ
_mCodingSMÚ
_mLastChar)Úself© r   úY/home/ubuntu/projects/ifolica/build/requests/requests/packages/chardet/mbcharsetprober.pyr   $   s    		zMultiByteCharSetProber.__init__c             C   sR   t  j |  ƒ |  j r& |  j j ƒ  n  |  j r? |  j j ƒ  n  d d g |  _ d  S)Nr   )r   Úresetr   r   r	   )r
   r   r   r   r   *   s    		zMultiByteCharSetProber.resetc             C   s   d  S)Nr   )r
   r   r   r   Úget_charset_name2   s    z'MultiByteCharSetProber.get_charset_namec             C   s”  t  | ƒ } xt d | ƒ D]
} |  j j | | ƒ } | t j k r‹ t j r{ t j j	 |  j
 ƒ  d t | ƒ d ƒ n  t j |  _ Pq | t j k rª t j |  _ Pq | t j k r |  j j ƒ  } | d k rþ | d |  j d <|  j j |  j | ƒ q&|  j j | | d | d … | ƒ q q W| | d |  j d <|  j ƒ  t j k rŠ|  j j ƒ  rŠ|  j ƒ  t j k rŠt j |  _ qŠn  |  j ƒ  S)Nr   z prober hit error at byte Ú
r   )ÚlenÚranger   Z
next_stater   ZeErrorÚ_debugÚsysÚstderrÚwriter   ÚstrZeNotMeZ_mStateZeItsMeZeFoundItZeStartZget_current_charlenr	   r   ÚfeedZ	get_stateZ
eDetectingZgot_enough_dataÚget_confidenceZSHORTCUT_THRESHOLD)r
   ÚaBufZaLenÚiZcodingStateZcharLenr   r   r   r   5   s2    		"zMultiByteCharSetProber.feedc             C   s   |  j  j ƒ  S)N)r   r   )r
   r   r   r   r   U   s    z%MultiByteCharSetProber.get_confidenceN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r   r   r   #   s
    r   )r   Ú r   Zcharsetproberr   r   r   r   r   r   Ú<module>   s   