MINI MINI MANI MO

Path : /lib64/python3.6/encodings/__pycache__/
File Upload :
Current File : //lib64/python3.6/encodings/__pycache__/__init__.cpython-36.pyc

3


 \
@sdZddlZddlZddlmZiZdZdgZejZGddde	e
Zd	d
ZddZ
eje
ejd
kr|ddZejedS)a3 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
    atttributes 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/lib64/python3.6/encodings/__init__.pyr(srcCsjt|trt|d}g}d}xB|D]:}|js6|dkrX|rH|rH|jd|j|d}q"d}q"Wdj|S)a 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; if they do use
        non-ASCII characters, these must be Latin-1 compatible.

    asciiF._T)
isinstancebytesstrisalnumappendjoin)encodingcharspunctcr	r	r
normalize_encoding+s




rc
Cstj|t}|tk	r|St|}tj|p:tj|jdd}|dk	rN||g}n|g}xN|D]B}|sZd|krnqZytd|tdd}Wntk
rYqZXPqZWd}y
|j	}Wnt
k
rd}YnX|dkrdt|<dS|}t|tj
s:dt|kodkns$td|j|jft|dst|d	s|d
dk	rbt|d
s|ddk	rt|dst|dkr|ddk	rt|dst|dkr|ddk	rt|drtd
|j|jft|dks|ddkr0|ddt||jjdd	d	f7}tj
|}|t|<y|j}Wnt
k
rdYn$Xx |D]}	|	tkrl|t|	<qlW|S)Nrr
z
encodings.r)fromlistlevelz#module "%s" (%s) failed to registerrz'incompatible codecs in module "%s" (%s))N)_cacheget_unknownr_aliasesreplace
__import___import_tailImportErrorgetregentryAttributeErrorrcodecs	CodecInfolenrr__file__callablesplit
getaliases)
rentry
norm_encodingaliased_encodingmodnamesmodnamemodr*codecaliasesaliasr	r	r
search_functionGsf	




  ,,(


r;Zwin32cCsFy,ddl}||jdkr*ddl}|jjSWntk
r@YnXdS)NrF)_bootlocalegetpreferredencodingZencodings.mbcsmbcsr*r))rr<Z	encodingsr	r	r
_alias_mbcssr?)__doc__r,sysrrr"r$r(r%LookupErrorSystemErrorrrr;registerplatformr?r	r	r	r
<module>sU



OHA YOOOO