3
ûâdeÿ  ã               @   s,   d dl mZ d dlmZ G dd„ deƒZdS )é   )ÚProbingState)ÚCharSetProberc                   sR   e Zd Zd‡ fdd„	Z‡ fdd„Zedd„ ƒZedd	„ ƒZd
d„ Zdd„ Z	‡  Z
S )ÚCharSetGroupProberNc                s(   t t| ƒj|d� d| _g | _d | _d S )N)Úlang_filteré    )Úsuperr   Ú__init__Ú_active_numÚprobersÚ_best_guess_prober)Úselfr   )Ú	__class__© úE/tmp/pip-build-red6nood/pip/pip/_vendor/chardet/charsetgroupprober.pyr   !   s    zCharSetGroupProber.__init__c                sN   t t| ƒjƒ  d| _x.| jD ]$}|r|jƒ  d|_|  jd7  _qW d | _d S )Nr   Tr   )r   r   Úresetr	   r
   Úactiver   )r   Úprober)r   r   r   r   '   s    zCharSetGroupProber.resetc             C   s    | j s| jƒ  | j sd S | j jS )N)r   Úget_confidenceÚcharset_name)r   r   r   r   r   1   s
    zCharSetGroupProber.charset_namec             C   s    | j s| jƒ  | j sd S | j jS )N)r   r   Úlanguage)r   r   r   r   r   9   s
    zCharSetGroupProber.languagec             C   sˆ   x€| j D ]v}|sq|jsq|j|ƒ}|s*q|tjkrH|| _tj| _| jS |tjkrd|_|  j	d8  _	| j	dkrtj| _| jS qW | jS )NFr   r   )
r
   r   Úfeedr   ÚFOUND_ITr   Ú_stateÚstateÚNOT_MEr	   )r   Úbyte_strr   r   r   r   r   r   A   s&    




zCharSetGroupProber.feedc             C   s˜   | j }|tjkrdS |tjkr"dS d}d | _x\| jD ]R}|s>q4|jsV| jjd|j	ƒ q4|j
ƒ }| jjd|j	|j|ƒ ||k r4|}|| _q4W | js”dS |S )Ng®Gáz®ï?g{®Gáz„?g        z%s not activez%s %s confidence = %s)r   r   r   r   r   r
   r   ÚloggerÚdebugr   r   r   )r   r   Ú	best_confr   Úconfr   r   r   r   V   s*    


z!CharSetGroupProber.get_confidence)N)Ú__name__Ú
__module__Ú__qualname__r   r   Úpropertyr   r   r   r   Ú__classcell__r   r   )r   r   r       s   
r   N)Úenumsr   Úcharsetproberr   r   r   r   r   r   Ú<module>   s   