o
    Oh                     @   s   d Z ddlZddlZddlmZmZmZ ddlmZ ddl	m
Z
 			dd	ee d
edededee f
ddZddeee  ddfddZedkrNe  dS dS )a  
Script which takes one or more file paths and reports on their detected
encodings

Example::

    % chardetect somefile someotherfile
    somefile: windows-1252 with confidence 0.5
    someotherfile: ascii with confidence 1.0

If no paths are provided, it takes its input from stdin.

    N)IterableListOptional   )__version__)UniversalDetectorstdinFlinesnameminimalshould_rename_legacyreturnc                 C   sx   t |d}| D ]}t|}|| |jr nq|  |j}|r%|d S |d r7| d|d  d|d  S | dS )a  
    Return a string describing the probable encoding of a file or
    list of strings.

    :param lines: The lines to get the encoding of.
    :type lines: Iterable of bytes
    :param name: Name of file or collection of lines
    :type name: str
    :param should_rename_legacy:  Should we rename legacy encodings to
                                  their more modern equivalents?
    :type should_rename_legacy:   ``bool``
    )r   encodingz: z with confidence 
confidencez: no result)r   	bytearrayfeeddonecloseresult)r	   r
   r   r   uliner    r   L/RAG/venv/lib/python3.10/site-packages/pip/_vendor/chardet/cli/chardetect.pydescription_of   s   


r   argvc                 C   s   t jdd}|jddt ddtjjgd |jdd	d
d |jdddd
d |jdddt d || }|j	D ]}|
 rGtdtjd tt||j|j|jd q:dS )z
    Handles command line arguments and gets things started.

    :param argv: List of arguments, as if specified on the command-line.
                 If None, ``sys.argv[1:]`` is used instead.
    :type argv: list of str
    zATakes one or more file paths and reports their detected encodings)descriptioninputz@File whose encoding we would like to determine. (default: stdin)rb*)helptypenargsdefaultz	--minimalz*Print only the encoding to standard output
store_true)r   actionz-lz--legacyz,Rename legacy encodings to more modern ones.z	--versionversionz	%(prog)s )r$   r%   zYou are running chardetect interactively. Press CTRL-D twice at the start of a blank line to signal the end of your input. If you want help, run chardetect --help
)file)r   r   N)argparseArgumentParseradd_argumentFileTypesysr   bufferr   
parse_argsr   isattyprintstderrr   r
   r   legacy)r   parserargsfr   r   r   main:   sJ   	

r5   __main__)r   FF)N)__doc__r'   r+   typingr   r   r    r   universaldetectorr   bytesstrboolr   r5   __name__r   r   r   r   <module>   s0    
"5
