B ˆ f$ã@s€dZddlZddlZddlmZiZdZdgZejZGdd„de e ƒZ d d „Z d d „Z e e ¡ejd kr|dd„Ze e¡dS)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 ú7/opt/alt/python37/lib64/python3.7/encodings/__init__.pyr(srcCsjt|tƒrt|dƒ}g}d}xB|D]:}| ¡s6|dkrX|rH|rH| d¡| |¡d}q"d}q"Wd |¡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Ú)Ú isinstanceÚbytesÚstrÚisalnumÚappendÚjoin)ÚencodingÚcharsÚpunctÚcr r r Únormalize_encoding+s     rc Cs|t |t¡}|tk r|St|ƒ}t |¡p:t | dd¡¡}|dk rN||g}n|g}xL|D]@}|rZd|krlqZytd|tdd�}Wntk r–YqZXPqZWd}y |j }Wnt k rÄd}YnX|dkrÚdt|<dS|ƒ}t |t j ƒ�s*dt|ƒk�r dk�s ntd|j|jfƒ‚t|dƒ�rÈt|d ƒ�rÈ|d dk �rXt|d ƒ�rÈ|d dk �rtt|d ƒ�rÈt|ƒdk�rž|ddk �ržt|dƒ�rÈt|ƒd k�rÜ|d dk �rÜt|d ƒ�sÜtd |j|jfƒ‚t|ƒdk�sø|ddk�r |ddt|ƒ|j dd ¡d f7}t j |Ž}|t|<y | ¡}Wnt k �rTYn$Xx |D]} | tk�r\|t| <�q\W|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_functionGsf         **(    r;Zwin32cCsLy2ddl}d| ¡}||kr0ddl}|j ¡SWntk rFYnXdS)Nrzcp%s)Ú_winapiZGetACPZencodings.mbcsÚmbcsr*r))rr<Zansi_code_pageZ encodingsr r r Ú _alias_mbcsŸs r>)Ú__doc__r,Úsysrrr"r$r(r%Ú LookupErrorÚ SystemErrorrrr;ÚregisterÚplatformr>r r r r Ús U