Your IP : 52.14.125.137
�
c��f� � �� � d Z ddlZddlZddlmZ i ZdZdgZej Z G d� de e
� � Zd � Zd
� Z
ej e
� � ej dk rd� Z ej e� � dS dS )
a2 Standard "encodings" Package
Standard Python encoding modules are stored in this package
directory.
Codec modules must have names corresponding to normalized encoding
names as defined in the normalize_encoding() function below, e.g.
'utf-8' must be implemented by the module 'utf_8.py'.
Each codec module must export the following interface:
* getregentry() -> codecs.CodecInfo object
The getregentry() API must return a CodecInfo object with encoder, decoder,
incrementalencoder, incrementaldecoder, streamwriter and streamreader
attributes which adhere to the Python Codec Interface Standard.
In addition, a module may optionally also define the following
APIs which are then used by the package's codec search function:
* getaliases() -> sequence of encoding name strings to use as aliases
Alias names returned by getaliases() must be normalized encoding
names as defined by normalize_encoding().
Written by Marc-Andre Lemburg (mal@lemburg.com).
(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
� N� )�aliasesz--unknown--�*c � � e Zd ZdS )�CodecRegistryErrorN)�__name__�
__module__�__qualname__� � �9/opt/alt/python311/lib64/python3.11/encodings/__init__.pyr r ( s � � � � � ��Dr r c �J � t | t � � rt | d� � } g }d}| D ]c}|� � � s|dk rE|r|r|� d� � |� � � r|� |� � d}�ad}�dd� |� � S )ae Normalize an encoding name.
Normalization works as follows: all non-alphanumeric
characters except the dot used for Python package names are
collapsed and replaced with a single underscore, e.g. ' -;#'
becomes '_'. Leading and trailing underscores are removed.
Note that encoding names should be ASCII only.
�asciiF�.�_T� )�
isinstance�bytes�str�isalnum�append�isascii�join)�encoding�chars�punct�cs r
�normalize_encodingr + s� � � �(�E�"�"� *��x��)�)���E��E�
� � ���9�9�;�;� �!�s�(�(��
"��
"����S�!�!�!��y�y�{�{�
����Q�����E�E��E�E�
�7�7�5�>�>�r c �� � t � | t � � }|t ur|S t | � � }t � |� � p-t � |� dd� � � � }|�||g}n|g}|D ]5}|rd|v r� t
d|z t d�� � } n# t $ r Y �2w xY wd } |j }n# t $ r d }Y nw xY w|�d t | <