GRAYBYTE WORDPRESS FILE MANAGER8024

Server IP : 198.54.121.189 / Your IP : 216.73.216.140
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /opt/alt/python312/lib64/python3.12/encodings/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /opt/alt/python312/lib64/python3.12/encodings//__init__.py
""" 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.

"""#"

import codecs
import sys
from . import aliases

_cache = {}
_unknown = '--unknown--'
_import_tail = ['*']
_aliases = aliases.aliases

class CodecRegistryError(LookupError, SystemError):
    pass

def normalize_encoding(encoding):

    """ 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 isinstance(encoding, bytes):
        encoding = str(encoding, "ascii")

    chars = []
    punct = False
    for c in encoding:
        if c.isalnum() or c == '.':
            if punct and chars:
                chars.append('_')
            if c.isascii():
                chars.append(c)
            punct = False
        else:
            punct = True
    return ''.join(chars)

def search_function(encoding):

    # Cache lookup
    entry = _cache.get(encoding, _unknown)
    if entry is not _unknown:
        return entry

    # Import the module:
    #
    # First try to find an alias for the normalized encoding
    # name and lookup the module using the aliased name, then try to
    # lookup the module using the standard import scheme, i.e. first
    # try in the encodings package, then at top-level.
    #
    norm_encoding = normalize_encoding(encoding)
    aliased_encoding = _aliases.get(norm_encoding) or \
                       _aliases.get(norm_encoding.replace('.', '_'))
    if aliased_encoding is not None:
        modnames = [aliased_encoding,
                    norm_encoding]
    else:
        modnames = [norm_encoding]
    for modname in modnames:
        if not modname or '.' in modname:
            continue
        try:
            # Import is absolute to prevent the possibly malicious import of a
            # module with side-effects that is not in the 'encodings' package.
            mod = __import__('encodings.' + modname, fromlist=_import_tail,
                             level=0)
        except ImportError:
            # ImportError may occur because 'encodings.(modname)' does not exist,
            # or because it imports a name that does not exist (see mbcs and oem)
            pass
        else:
            break
    else:
        mod = None

    try:
        getregentry = mod.getregentry
    except AttributeError:
        # Not a codec module
        mod = None

    if mod is None:
        # Cache misses
        _cache[encoding] = None
        return None

    # Now ask the module for the registry entry
    entry = getregentry()
    if not isinstance(entry, codecs.CodecInfo):
        if not 4 <= len(entry) <= 7:
            raise CodecRegistryError('module "%s" (%s) failed to register'
                                     % (mod.__name__, mod.__file__))
        if not callable(entry[0]) or not callable(entry[1]) or \
           (entry[2] is not None and not callable(entry[2])) or \
           (entry[3] is not None and not callable(entry[3])) or \
           (len(entry) > 4 and entry[4] is not None and not callable(entry[4])) or \
           (len(entry) > 5 and entry[5] is not None and not callable(entry[5])):
            raise CodecRegistryError('incompatible codecs in module "%s" (%s)'
                                     % (mod.__name__, mod.__file__))
        if len(entry)<7 or entry[6] is None:
            entry += (None,)*(6-len(entry)) + (mod.__name__.split(".", 1)[1],)
        entry = codecs.CodecInfo(*entry)

    # Cache the codec registry entry
    _cache[encoding] = entry

    # Register its aliases (without overwriting previously registered
    # aliases)
    try:
        codecaliases = mod.getaliases()
    except AttributeError:
        pass
    else:
        for alias in codecaliases:
            if alias not in _aliases:
                _aliases[alias] = modname

    # Return the registry entry
    return entry

# Register the search_function in the Python codec registry
codecs.register(search_function)

if sys.platform == 'win32':
    # bpo-671666, bpo-46668: If Python does not implement a codec for current
    # Windows ANSI code page, use the "mbcs" codec instead:
    # WideCharToMultiByte() and MultiByteToWideChar() functions with CP_ACP.
    # Python does not support custom code pages.
    def _alias_mbcs(encoding):
        try:
            import _winapi
            ansi_code_page = "cp%s" % _winapi.GetACP()
            if encoding == ansi_code_page:
                import encodings.mbcs
                return encodings.mbcs.getregentry()
        except ImportError:
            # Imports may fail while we are shutting down
            pass

    codecs.register(_alias_mbcs)

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
May 13 2025 08:36:47
root / linksafe
0755
__pycache__
--
May 13 2025 08:36:47
root / linksafe
0755
__init__.py
5.746 KB
April 25 2025 20:47:43
root / linksafe
0644
aliases.py
15.31 KB
April 25 2025 20:47:43
root / linksafe
0644
ascii.py
1.219 KB
April 25 2025 20:47:43
root / linksafe
0644
base64_codec.py
1.497 KB
April 25 2025 20:47:43
root / linksafe
0644
big5.py
0.995 KB
April 25 2025 20:47:43
root / linksafe
0644
big5hkscs.py
1.015 KB
April 25 2025 20:47:43
root / linksafe
0644
bz2_codec.py
2.196 KB
April 25 2025 20:47:43
root / linksafe
0644
charmap.py
2.035 KB
April 25 2025 20:47:43
root / linksafe
0644
cp037.py
12.813 KB
April 25 2025 20:47:43
root / linksafe
0644
cp1006.py
13.25 KB
April 25 2025 20:47:43
root / linksafe
0644
cp1026.py
12.806 KB
April 25 2025 20:47:43
root / linksafe
0644
cp1125.py
33.786 KB
April 25 2025 20:47:43
root / linksafe
0644
cp1140.py
12.798 KB
April 25 2025 20:47:43
root / linksafe
0644
cp1250.py
13.365 KB
April 25 2025 20:47:43
root / linksafe
0644
cp1251.py
13.048 KB
April 25 2025 20:47:43
root / linksafe
0644
cp1252.py
13.194 KB
April 25 2025 20:47:43
root / linksafe
0644
cp1253.py
12.787 KB
April 25 2025 20:47:43
root / linksafe
0644
cp1254.py
13.186 KB
April 25 2025 20:47:43
root / linksafe
0644
cp1255.py
12.174 KB
April 25 2025 20:47:43
root / linksafe
0644
cp1256.py
12.514 KB
April 25 2025 20:47:43
root / linksafe
0644
cp1257.py
13.061 KB
April 25 2025 20:47:43
root / linksafe
0644
cp1258.py
13.051 KB
April 25 2025 20:47:43
root / linksafe
0644
cp273.py
13.801 KB
April 25 2025 20:47:43
root / linksafe
0644
cp424.py
11.772 KB
April 25 2025 20:47:43
root / linksafe
0644
cp437.py
33.754 KB
April 25 2025 20:47:43
root / linksafe
0644
cp500.py
12.813 KB
April 25 2025 20:47:43
root / linksafe
0644
cp720.py
13.365 KB
April 25 2025 20:47:43
root / linksafe
0644
cp737.py
33.868 KB
April 25 2025 20:47:43
root / linksafe
0644
cp775.py
33.668 KB
April 25 2025 20:47:43
root / linksafe
0644
cp850.py
33.306 KB
April 25 2025 20:47:43
root / linksafe
0644
cp852.py
34.182 KB
April 25 2025 20:47:43
root / linksafe
0644
cp855.py
33.057 KB
April 25 2025 20:47:43
root / linksafe
0644
cp856.py
12.132 KB
April 25 2025 20:47:43
root / linksafe
0644
cp857.py
33.113 KB
April 25 2025 20:47:43
root / linksafe
0644
cp858.py
33.218 KB
April 25 2025 20:47:43
root / linksafe
0644
cp860.py
33.868 KB
April 25 2025 20:47:43
root / linksafe
0644
cp861.py
33.821 KB
April 25 2025 20:47:43
root / linksafe
0644
cp862.py
32.588 KB
April 25 2025 20:47:43
root / linksafe
0644
cp863.py
33.449 KB
April 25 2025 20:47:43
root / linksafe
0644
cp864.py
32.874 KB
April 25 2025 20:47:43
root / linksafe
0644
cp865.py
33.807 KB
April 25 2025 20:47:43
root / linksafe
0644
cp866.py
33.59 KB
April 25 2025 20:47:43
root / linksafe
0644
cp869.py
32.192 KB
April 25 2025 20:47:43
root / linksafe
0644
cp874.py
12.3 KB
April 25 2025 20:47:43
root / linksafe
0644
cp875.py
12.553 KB
April 25 2025 20:47:43
root / linksafe
0644
cp932.py
0.999 KB
April 25 2025 20:47:43
root / linksafe
0644
cp949.py
0.999 KB
April 25 2025 20:47:43
root / linksafe
0644
cp950.py
0.999 KB
April 25 2025 20:47:43
root / linksafe
0644
euc_jis_2004.py
1.026 KB
April 25 2025 20:47:43
root / linksafe
0644
euc_jisx0213.py
1.026 KB
April 25 2025 20:47:43
root / linksafe
0644
euc_jp.py
1.003 KB
April 25 2025 20:47:43
root / linksafe
0644
euc_kr.py
1.003 KB
April 25 2025 20:47:43
root / linksafe
0644
gb18030.py
1.007 KB
April 25 2025 20:47:43
root / linksafe
0644
gb2312.py
1.003 KB
April 25 2025 20:47:43
root / linksafe
0644
gbk.py
0.991 KB
April 25 2025 20:47:43
root / linksafe
0644
hex_codec.py
1.473 KB
April 25 2025 20:47:43
root / linksafe
0644
hp_roman8.py
13.159 KB
April 25 2025 20:47:43
root / linksafe
0644
hz.py
0.987 KB
April 25 2025 20:47:43
root / linksafe
0644
idna.py
9.482 KB
April 25 2025 20:47:43
root / linksafe
0644
iso2022_jp.py
1.028 KB
April 25 2025 20:47:43
root / linksafe
0644
iso2022_jp_1.py
1.036 KB
April 25 2025 20:47:43
root / linksafe
0644
iso2022_jp_2.py
1.036 KB
April 25 2025 20:47:43
root / linksafe
0644
iso2022_jp_2004.py
1.048 KB
April 25 2025 20:47:43
root / linksafe
0644
iso2022_jp_3.py
1.036 KB
April 25 2025 20:47:43
root / linksafe
0644
iso2022_jp_ext.py
1.044 KB
April 25 2025 20:47:43
root / linksafe
0644
iso2022_kr.py
1.028 KB
April 25 2025 20:47:43
root / linksafe
0644
iso8859_1.py
12.867 KB
April 25 2025 20:47:43
root / linksafe
0644
iso8859_10.py
13.271 KB
April 25 2025 20:47:43
root / linksafe
0644
iso8859_11.py
12.046 KB
April 25 2025 20:47:43
root / linksafe
0644
iso8859_13.py
12.96 KB
April 25 2025 20:47:43
root / linksafe
0644
iso8859_14.py
13.332 KB
April 25 2025 20:47:43
root / linksafe
0644
iso8859_15.py
12.902 KB
April 25 2025 20:47:43
root / linksafe
0644
iso8859_16.py
13.239 KB
April 25 2025 20:47:43
root / linksafe
0644
iso8859_2.py
13.09 KB
April 25 2025 20:47:43
root / linksafe
0644
iso8859_3.py
12.782 KB
April 25 2025 20:47:43
root / linksafe
0644
iso8859_4.py
13.063 KB
April 25 2025 20:47:43
root / linksafe
0644
iso8859_5.py
12.71 KB
April 25 2025 20:47:43
root / linksafe
0644
iso8859_6.py
10.579 KB
April 25 2025 20:47:43
root / linksafe
0644
iso8859_7.py
12.543 KB
April 25 2025 20:47:43
root / linksafe
0644
iso8859_8.py
10.777 KB
April 25 2025 20:47:43
root / linksafe
0644
iso8859_9.py
12.848 KB
April 25 2025 20:47:43
root / linksafe
0644
johab.py
0.999 KB
April 25 2025 20:47:43
root / linksafe
0644
koi8_r.py
13.456 KB
April 25 2025 20:47:43
root / linksafe
0644
koi8_t.py
12.884 KB
April 25 2025 20:47:43
root / linksafe
0644
koi8_u.py
13.439 KB
April 25 2025 20:47:43
root / linksafe
0644
kz1048.py
13.401 KB
April 25 2025 20:47:43
root / linksafe
0644
latin_1.py
1.234 KB
April 25 2025 20:47:43
root / linksafe
0644
mac_arabic.py
35.612 KB
April 25 2025 20:47:43
root / linksafe
0644
mac_croatian.py
13.313 KB
April 25 2025 20:47:43
root / linksafe
0644
mac_cyrillic.py
13.139 KB
April 25 2025 20:47:43
root / linksafe
0644
mac_farsi.py
14.814 KB
April 25 2025 20:47:43
root / linksafe
0644
mac_greek.py
13.399 KB
April 25 2025 20:47:43
root / linksafe
0644
mac_iceland.py
13.182 KB
April 25 2025 20:47:43
root / linksafe
0644
mac_latin2.py
13.787 KB
April 25 2025 20:47:43
root / linksafe
0644
mac_roman.py
13.164 KB
April 25 2025 20:47:43
root / linksafe
0644
mac_romanian.py
13.341 KB
April 25 2025 20:47:43
root / linksafe
0644
mac_turkish.py
13.196 KB
April 25 2025 20:47:43
root / linksafe
0644
mbcs.py
1.183 KB
April 25 2025 20:47:43
root / linksafe
0644
oem.py
0.995 KB
April 25 2025 20:47:43
root / linksafe
0644
palmos.py
13.202 KB
April 25 2025 20:47:43
root / linksafe
0644
ptcp154.py
13.687 KB
April 25 2025 20:47:43
root / linksafe
0644
punycode.py
6.722 KB
April 25 2025 20:47:43
root / linksafe
0644
quopri_codec.py
1.489 KB
April 25 2025 20:47:43
root / linksafe
0644
raw_unicode_escape.py
1.301 KB
April 25 2025 20:47:43
root / linksafe
0644
rot_13.py
2.405 KB
April 25 2025 20:47:43
root / linksafe
0755
shift_jis.py
1.015 KB
April 25 2025 20:47:43
root / linksafe
0644
shift_jis_2004.py
1.034 KB
April 25 2025 20:47:43
root / linksafe
0644
shift_jisx0213.py
1.034 KB
April 25 2025 20:47:43
root / linksafe
0644
tis_620.py
12.012 KB
April 25 2025 20:47:43
root / linksafe
0644
undefined.py
1.269 KB
April 25 2025 20:47:43
root / linksafe
0644
unicode_escape.py
1.273 KB
April 25 2025 20:47:43
root / linksafe
0644
utf_16.py
5.113 KB
April 25 2025 20:47:43
root / linksafe
0644
utf_16_be.py
1.013 KB
April 25 2025 20:47:43
root / linksafe
0644
utf_16_le.py
1.013 KB
April 25 2025 20:47:43
root / linksafe
0644
utf_32.py
5.009 KB
April 25 2025 20:47:43
root / linksafe
0644
utf_32_be.py
0.908 KB
April 25 2025 20:47:43
root / linksafe
0644
utf_32_le.py
0.908 KB
April 25 2025 20:47:43
root / linksafe
0644
utf_7.py
0.924 KB
April 25 2025 20:47:43
root / linksafe
0644
utf_8.py
0.981 KB
April 25 2025 20:47:43
root / linksafe
0644
utf_8_sig.py
4.036 KB
April 25 2025 20:47:43
root / linksafe
0644
uu_codec.py
2.784 KB
April 25 2025 20:47:43
root / linksafe
0644
zlib_codec.py
2.152 KB
April 25 2025 20:47:43
root / linksafe
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF