CasperSecurity

Current Path : /lib/python3.10/encodings/__pycache__/
Upload File :
Current File : //lib/python3.10/encodings/__pycache__/__init__.cpython-310.pyc

o

p̦i��@s�dZddlZddlZddlmZiZdZdgZejZGdd�de	e
�Zd	d
�Zdd�Z
e�e
�ejd
kr@dd�Ze�e�dSdS)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@seZdZdS)�CodecRegistryErrorN)�__name__�
__module__�__qualname__�r	r	�)/usr/lib/python3.10/encodings/__init__.pyr(srcCsnt|t�r
t|d�}g}d}|D]!}|��s|dkr/|r#|r#|�d�|��r,|�|�d}qd}qd�|�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�cr	r	r
�normalize_encoding+s




rc
	CsPt�|t�}|tur|St|�}t�|�pt�|�dd��}|dur'||g}n|g}|D]}|r4d|vr5q,ztd|tdd�}Wn	tyIYq,wnd}z|j	}Wnt
y^d}Ynw|duridt|<dS|�}t|tj
��sdt|�krdks�ntd|j|jf��t|d�r�t|d	�r�|d
dur�t|d
�r�|ddur�t|d�r�t|�dkr�|ddur�t|d�r�t|�dkr�|ddur�t|d�s�td
|j|jf��t|�dks�|ddur�|ddt|�|j�dd	�d	f7}tj
|�}|t|<z|��}Wnt
�yY|Sw|D]}	|	tv�r$|t|	<�q|S)Nrr
z
encodings.r)�fromlist�level��z#module "%s" (%s) failed to registerr���z'incompatible codecs in module "%s" (%s)�)N)�_cache�get�_unknownr�_aliases�replace�
__import__�_import_tail�ImportError�getregentry�AttributeErrorr�codecs�	CodecInfo�lenrr�__file__�callable�split�
getaliases)
r�entry�
norm_encoding�aliased_encoding�modnames�modname�modr+�codecaliases�aliasr	r	r
�search_functionGsz	
��

��
�
�$$
�(
�
�r<�win32cCsLzddl}d|��}||krddl}|j��WSWdSty%YdSw)Nrzcp%s)�_winapi�GetACP�encodings.mbcs�mbcsr+r*)rr>�ansi_code_page�	encodingsr	r	r
�_alias_mbcs�s��rD)�__doc__r-�sysrrr#r%r)r&�LookupError�SystemErrorrrr<�register�platformrDr	r	r	r
�<module>s 
U
�
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY