X7ROOT File Manager
Current Path:
/opt/hc_python/lib/python3.12/site-packages/dns
opt
/
hc_python
/
lib
/
python3.12
/
site-packages
/
dns
/
ðŸ“
..
📄
__init__.py
(1.62 KB)
ðŸ“
__pycache__
📄
_asyncbackend.py
(2.34 KB)
📄
_asyncio_backend.py
(8.84 KB)
📄
_ddr.py
(5.12 KB)
📄
_features.py
(2.43 KB)
📄
_immutable_ctx.py
(2.4 KB)
📄
_trio_backend.py
(8.27 KB)
📄
asyncbackend.py
(2.73 KB)
📄
asyncquery.py
(30.1 KB)
📄
asyncresolver.py
(17.43 KB)
📄
dnssec.py
(40.74 KB)
ðŸ“
dnssecalgs
📄
dnssectypes.py
(1.76 KB)
📄
e164.py
(3.88 KB)
📄
edns.py
(16.69 KB)
📄
entropy.py
(4.14 KB)
📄
enum.py
(3.6 KB)
📄
exception.py
(5.81 KB)
📄
flags.py
(2.69 KB)
📄
grange.py
(2.09 KB)
📄
immutable.py
(1.97 KB)
📄
inet.py
(5.64 KB)
📄
ipv4.py
(2.49 KB)
📄
ipv6.py
(6.4 KB)
📄
message.py
(66.59 KB)
📄
name.py
(41.78 KB)
📄
namedict.py
(3.91 KB)
📄
nameserver.py
(9.88 KB)
📄
node.py
(12.37 KB)
📄
opcode.py
(2.67 KB)
📄
py.typed
(0 B)
📄
query.py
(54.98 KB)
ðŸ“
quic
📄
rcode.py
(4.06 KB)
📄
rdata.py
(30.29 KB)
📄
rdataclass.py
(2.91 KB)
📄
rdataset.py
(16.27 KB)
📄
rdatatype.py
(7.27 KB)
ðŸ“
rdtypes
📄
renderer.py
(10.99 KB)
📄
resolver.py
(72 KB)
📄
reversename.py
(3.74 KB)
📄
rrset.py
(8.96 KB)
📄
serial.py
(3.52 KB)
📄
set.py
(9 KB)
📄
tokenizer.py
(23.03 KB)
📄
transaction.py
(22.06 KB)
📄
tsig.py
(11.15 KB)
📄
tsigkeyring.py
(2.57 KB)
📄
ttl.py
(2.91 KB)
📄
update.py
(11.96 KB)
📄
version.py
(1.88 KB)
📄
versioned.py
(11.49 KB)
📄
win32util.py
(8.67 KB)
📄
wire.py
(2.76 KB)
📄
xfr.py
(12.96 KB)
📄
zone.py
(50.87 KB)
📄
zonefile.py
(27.27 KB)
📄
zonetypes.py
(690 B)
Editing: _immutable_ctx.py
# Copyright (C) Dnspython Contributors, see LICENSE for text of ISC license # This implementation of the immutable decorator requires python >= # 3.7, and is significantly more storage efficient when making classes # with slots immutable. It's also faster. import contextvars import inspect _in__init__ = contextvars.ContextVar("_immutable_in__init__", default=False) class _Immutable: """Immutable mixin class""" # We set slots to the empty list to say "we don't have any attributes". # We do this so that if we're mixed in with a class with __slots__, we # don't cause a __dict__ to be added which would waste space. __slots__ = () def __setattr__(self, name, value): if _in__init__.get() is not self: raise TypeError("object doesn't support attribute assignment") else: super().__setattr__(name, value) def __delattr__(self, name): if _in__init__.get() is not self: raise TypeError("object doesn't support attribute assignment") else: super().__delattr__(name) def _immutable_init(f): def nf(*args, **kwargs): previous = _in__init__.set(args[0]) try: # call the actual __init__ f(*args, **kwargs) finally: _in__init__.reset(previous) nf.__signature__ = inspect.signature(f) return nf def immutable(cls): if _Immutable in cls.__mro__: # Some ancestor already has the mixin, so just make sure we keep # following the __init__ protocol. cls.__init__ = _immutable_init(cls.__init__) if hasattr(cls, "__setstate__"): cls.__setstate__ = _immutable_init(cls.__setstate__) ncls = cls else: # Mixin the Immutable class and follow the __init__ protocol. class ncls(_Immutable, cls): # We have to do the __slots__ declaration here too! __slots__ = () @_immutable_init def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) if hasattr(cls, "__setstate__"): @_immutable_init def __setstate__(self, *args, **kwargs): super().__setstate__(*args, **kwargs) # make ncls have the same name and module as cls ncls.__name__ = cls.__name__ ncls.__qualname__ = cls.__qualname__ ncls.__module__ = cls.__module__ return ncls
Upload File
Create Folder