î
)Ú X^  ã               @   s†   d  d l  Z  d d l m Z d d l m Z d d l m Z d d l m Z d d l	 m
 Z
 d d l m Z Gd	 d
 „  d
 e ƒ Z d S)é    Né   )Ú	constants)ÚMultiByteCharSetProber)ÚCodingStateMachine)ÚEUCJPDistributionAnalysis)ÚEUCJPContextAnalysis)ÚEUCJPSMModelc               @   sL   e  Z d  Z d d „  Z d d „  Z d d „  Z d d „  Z d	 d
 „  Z d S)ÚEUCJPProberc             C   sB   t  j |  ƒ t t ƒ |  _ t ƒ  |  _ t ƒ  |  _ |  j	 ƒ  d  S)N)
r   Ú__init__r   r   Ú
_mCodingSMr   Ú_mDistributionAnalyzerr   Ú_mContextAnalyzerÚreset)Úself© r   úU/home/ubuntu/projects/ifolica/build/requests/requests/packages/chardet/eucjpprober.pyr
   &   s
    zEUCJPProber.__init__c             C   s   t  j |  ƒ |  j j ƒ  d  S)N)r   r   r   )r   r   r   r   r   -   s    zEUCJPProber.resetc             C   s   d S)NzEUC-JPr   )r   r   r   r   Úget_charset_name1   s    zEUCJPProber.get_charset_namec             C   sÏ  t  | ƒ } xVt d | ƒ D]E} |  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 | ƒ |  j j |  j | ƒ qa|  j j | | d | d … | ƒ |  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_charlenZ
_mLastCharr   Úfeedr   Z	get_stateZ
eDetectingZgot_enough_dataÚget_confidenceZSHORTCUT_THRESHOLD)r   ÚaBufZaLenÚiZcodingStateZcharLenr   r   r   r   4   s6    		"%zEUCJPProber.feedc             C   s+   |  j  j ƒ  } |  j j ƒ  } t | | ƒ S)N)r   r   r   Úmax)r   ZcontxtCfZ	distribCfr   r   r   r   W   s    zEUCJPProber.get_confidenceN)Ú__name__Ú
__module__Ú__qualname__r
   r   r   r   r   r   r   r   r   r	   %   s
   #r	   )r   Ú r   Zmbcharsetproberr   Zcodingstatemachiner   Zchardistributionr   Zjpcntxr   Zmbcssmr   r	   r   r   r   r   Ú<module>   s   