o
    j                     @  s   d Z ddlmZ ddlZddlZddlmZ ddlZddlm	Z	m
Z
 ddlmZ ddlmZ dd	 eD d
g ZdddZddddZedkrLe  dS dS )z#Command-line interface for chardet.    )annotationsN)Path)DEFAULT_MAX_BYTESISO_TO_LANGUAGE)EncodingEra)DetectionDictc                 C  s"   g | ]}|  d kr|j qS )   )	bit_countnamelower).0e r   Q/var/www/html/fyndo/pharma/fyndo/venv/lib/python3.10/site-packages/chardet/cli.py
<listcomp>   s   " r   allresultr   labelstrminimalboollanguagereturnNonec                C  s   |r|r| d p	d}t | d  d|  d
S t | d  d
S |rG| d p&d}t|| }t | d| d  d| d| d| d  	 d
S t | d| d  d	| d   d
S )z#Print a detection result to stdout.r   undencoding : z (z) with confidence 
confidencez with confidence N)printr   gettitle)r   r   r   r   isor
   r   r   r   _print_result   s   $r#   argvlist[str] | Nonec                 C  s  t jdd}|jdddd |jddd	d
 |jddddd
 |jdddtdd |jddddd |jddddd |jdddd |jdddd |jd d!d"tj d# || }|jrft|j	  ntj
}|jrwd$d% |jd&D nd}|jrd'd% |jd&D nd}|jr&d(}|jD ]}zt|d)}|t}	W d   n1 sw   Y  W n# ty }
 ztd*| d+|
 tjd, |d-7 }W Y d}
~
qd}
~
ww ztj|	||||j|jd.}W n$ ty	 }
 ztd*| d/|
 tjd, |d-7 }W Y d}
~
qd}
~
ww t|||j|jd0 q|t|jkr$td- dS dS tj j!t}	ztj|	||||j|jd.}W n" ty^ }
 ztd1|
 tjd, td- W Y d}
~
nd}
~
ww t|d2|j|jd0 dS )3zwRun the ``chardetect`` command-line tool.

    :param argv: Command-line arguments.  Defaults to ``sys.argv[1:]``.
    z#Detect character encoding of files.)descriptionfiles*zFiles to detect encoding of)nargshelpz	--minimal
store_truezOutput only the encoding name)actionr*   z-lz
--languagez#Include detected language in outputz-ez--encoding-eraNzEncoding era filter)defaultchoicesr*   z-iz--include-encodingsz-Comma-separated list of encodings to consider)r-   r*   z-xz--exclude-encodingsz,Comma-separated list of encodings to excludez--no-match-encodingcp1252zCEncoding to return when detection is inconclusive (default: cp1252)z--empty-input-encodingzutf-8z3Encoding to return for empty input (default: utf-8)z	--versionversionzchardet )r,   r0   c                 S     g | ]}|  qS r   stripr   sr   r   r   r   ^       zmain.<locals>.<listcomp>,c                 S  r1   r   r2   r4   r   r   r   r   c   r6   r   rbzchardetect: r   )filer   )encoding_erainclude_encodingsexclude_encodingsno_match_encodingempty_input_encodingz: detection failed: )r   r   z%chardetect: stdin: detection failed: stdin)"argparseArgumentParseradd_argument
_ERA_NAMESchardet__version__
parse_argsr:   r   upperALLr;   splitr<   r'   r   openreadr   OSErrorr   sysstderrdetectr=   r>   	Exceptionr#   r   r   lenexitr?   buffer)r$   parserargseraincludeexcludeerrorsfilepathfdatar   r   r   r   r   main&   s   



r]   __main__)
r   r   r   r   r   r   r   r   r   r   )N)r$   r%   r   r   )__doc__
__future__r   r@   rM   pathlibr   rD   chardet._utilsr   r   chardet.enumsr   chardet.pipeliner   rC   r#   r]   __name__r   r   r   r   <module>   s    
o
