�
��^i�
� � � d Z ddlmZmZmZ ddlZddlZddlmZ ddl m
Z
ddlmZ dd�Z
dd �Zed
k r e� � dS dS )
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.
� )�absolute_import�print_function�unicode_literalsN)�__version__)�PY2)�UniversalDetector�stdinc � � t � � }| D ]/}t |� � }|� |� � |j r n�0|� � � |j }t r'|� t j � � d� � }|d r#d�
||d |d � � S d�
|� � S )z�
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
�ignore�encodingz{}: {} with confidence {}�
confidencez
{}: no result)r � bytearray�feed�done�close�resultr �decode�sys�getfilesystemencoding�format)�lines�name�u�liner s ��/builddir/build/BUILDROOT/alt-python311-pip-21.3.1-4.el8.x86_64/opt/alt/python311/lib/python3.11/site-packages/pip/_vendor/chardet/cli/chardetect.py�description_ofr s� � � ���A�� � ������� ���t�����6� ��E� ��G�G�I�I�I�
�X�F�
� B��{�{�3�4�6�6��A�A��
�j�� ,�*�1�1�$��z�8J�5;�L�5I�K� K� K� �%�%�d�+�+�+� c � � t j d�� � }|� ddt j d� � dt rt
j nt
j j g�� � |� dd d
� t � � �� � |�
| � � }|j D ]S}|� � � rt dt
j �
� � t t ||j � � � � �TdS )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
zVTakes 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 --version�versionz%(prog)s {})�actionr' z�You 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
)�fileN)�argparse�ArgumentParser�add_argument�FileTyper r r �bufferr r �
parse_argsr �isatty�print�stderrr r )�argv�parser�args�fs r �mainr7 5 s& � � �
$� �!� !� !�F� ����0�%�.�t�4�4�C�.1�!G����s�y�7G� H� � J� J� J�
����I� -� 4� 4�[� A� A� � C� C� C����T�"�"�D�
�Z� )� )���8�8�:�:� /�� � $'�:�
/�
/�
/�
/� �n�Q���'�'�(�(�(�(�
)� )r �__main__)r )N)�__doc__�
__future__r r r r* r �pip._vendor.chardetr �pip._vendor.chardet.compatr �%pip._vendor.chardet.universaldetectorr r r7 �__name__� r r �