Server IP : 66.29.132.122 / Your IP : 18.191.215.198 Web Server : LiteSpeed System : Linux business142.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : admazpex ( 531) PHP Version : 7.2.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /opt/imunify360/venv/lib/python3.11/site-packages/frozenlist/ |
Upload File : |
import os import sys import types from collections.abc import MutableSequence from functools import total_ordering from typing import Type __version__ = "1.4.0" __all__ = ("FrozenList", "PyFrozenList") # type: Tuple[str, ...] NO_EXTENSIONS = bool(os.environ.get("FROZENLIST_NO_EXTENSIONS")) # type: bool @total_ordering class FrozenList(MutableSequence): __slots__ = ("_frozen", "_items") if sys.version_info >= (3, 9): __class_getitem__ = classmethod(types.GenericAlias) else: @classmethod def __class_getitem__(cls: Type["FrozenList"]) -> Type["FrozenList"]: return cls def __init__(self, items=None): self._frozen = False if items is not None: items = list(items) else: items = [] self._items = items @property def frozen(self): return self._frozen def freeze(self): self._frozen = True def __getitem__(self, index): return self._items[index] def __setitem__(self, index, value): if self._frozen: raise RuntimeError("Cannot modify frozen list.") self._items[index] = value def __delitem__(self, index): if self._frozen: raise RuntimeError("Cannot modify frozen list.") del self._items[index] def __len__(self): return self._items.__len__() def __iter__(self): return self._items.__iter__() def __reversed__(self): return self._items.__reversed__() def __eq__(self, other): return list(self) == other def __le__(self, other): return list(self) <= other def insert(self, pos, item): if self._frozen: raise RuntimeError("Cannot modify frozen list.") self._items.insert(pos, item) def __repr__(self): return f"<FrozenList(frozen={self._frozen}, {self._items!r})>" def __hash__(self): if self._frozen: return hash(tuple(self)) else: raise RuntimeError("Cannot hash unfrozen list.") PyFrozenList = FrozenList try: from ._frozenlist import FrozenList as CFrozenList # type: ignore if not NO_EXTENSIONS: # pragma: no cover FrozenList = CFrozenList # type: ignore except ImportError: # pragma: no cover pass