
    Ofc                     :    d dl mZ d dlmZ  G d de          ZdS )   )ProbingState)CharSetProberc                   b     e Zd Zd fd	Z fdZed             Zed             Zd Zd Z	 xZ
S )	CharSetGroupProberNc                     t          t          |                               |           d| _        g | _        d | _        d S )N)lang_filter    )superr   __init___active_numprobers_best_guess_prober)selfr   	__class__s     :lib/python3.11/site-packages/chardet/charsetgroupprober.pyr   zCharSetGroupProber.__init__!   sB     $''00[0III"&    c                     t          t          |                                            d| _        | j        D ]/}|r+|                                 d|_        | xj        dz  c_        0d | _        d S )Nr	   Tr   )r
   r   resetr   r   activer   )r   proberr   s     r   r   zCharSetGroupProber.reset'   sx     $''--///l 	& 	&F & $  A%  "&r   c                 b    | j         s|                                  | j         sd S | j         j        S N)r   get_confidencecharset_namer   s    r   r   zCharSetGroupProber.charset_name1   s;    & 	!!!* t&33r   c                 b    | j         s|                                  | j         sd S | j         j        S r   )r   r   languager   s    r   r   zCharSetGroupProber.language9   s;    & 	!!!* t&//r   c                 d   | j         D ]}|s|j        s|                    |          }|s%|t          j        k    r!|| _        t          j        | _        | j        c S |t          j        k    r<d|_        | xj	        dz  c_	        | j	        dk    rt          j        | _        | j        c S | j        S )NFr   r	   )
r   r   feedr   FOUND_ITr   _statestateNOT_MEr   )r   byte_strr   r"   s       r   r   zCharSetGroupProber.feedA   s    l 	& 	&F = KK))E -- 	&*0'*3z!!!,-- & %  A%  #q( &"."5DK:%%%zr   c                 ~   | j         }|t          j        k    rdS |t          j        k    rdS d}d | _        | j        D ]w}|s|j        s!| j                            d|j	                   -|
                                }| j                            d|j	        |j        |           ||k     r	|}|| _        x| j        sdS |S )NgGz?g{Gz?g        z%s not activez%s %s confidence = %s)r"   r   r    r#   r   r   r   loggerdebugr   r   r   )r   r"   	best_confr   confs        r   r   z!CharSetGroupProber.get_confidenceV   s    
L)) 	4l)) 	4	"&l 
	1 
	1F = !!/63FGGG((**DK5v7JFO]abbb4 1 	*0'& 	3r   r   )__name__
__module____qualname__r   r   propertyr   r   r   r   __classcell__)r   s   @r   r   r       s        ' ' ' ' ' '' ' ' ' ' 4 4 X4 0 0 X0  *      r   r   N)enumsr   charsetproberr   r    r   r   <module>r2      si   8        ( ( ( ( ( (K K K K K K K K K Kr   