�
�d� � � � d Z ddlZddlZddlmZmZmZ ddlmZ ddl m
Z
ddee ded e
d
e
dee f
d�Zdd
eee ddfd�Zedk( r e� yy)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�lines�name�minimal�should_rename_legacy�returnc � � t |�� }| D ], }t |� }|j |� |j s�, n |j � |j
}|r|d S |d r|� 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 s �8/usr/lib/python3/dist-packages/chardet/cli/chardetect.py�description_ofr s� � �$ �/C�D�A�� ������ ���t���6�6��� �G�G�I�
�X�X�F���j�!�!�
�j����r�&��,�-�->�v�l�?S�>T�U�U��V�;��� �argvc �B � t j d�� }|j ddt j d� dt j
j g�� |j dd d
�� |j dd
dd
�� |j dddt � ��� |j | � }|j D ]c }|j � rt dt j �� t t ||j |j |j �� � �e y)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& |