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: _features.py
# Copyright (C) Dnspython Contributors, see LICENSE for text of ISC license import importlib.metadata import itertools import string from typing import Dict, List, Tuple def _tuple_from_text(version: str) -> Tuple: text_parts = version.split(".") int_parts = [] for text_part in text_parts: digit_prefix = "".join( itertools.takewhile(lambda x: x in string.digits, text_part) ) try: int_parts.append(int(digit_prefix)) except Exception: break return tuple(int_parts) def _version_check( requirement: str, ) -> bool: """Is the requirement fulfilled? The requirement must be of the form package>=version """ package, minimum = requirement.split(">=") try: version = importlib.metadata.version(package) # This shouldn't happen, but it apparently can. if version is None: return False except Exception: return False t_version = _tuple_from_text(version) t_minimum = _tuple_from_text(minimum) if t_version < t_minimum: return False return True _cache: Dict[str, bool] = {} def have(feature: str) -> bool: """Is *feature* available? This tests if all optional packages needed for the feature are available and recent enough. Returns ``True`` if the feature is available, and ``False`` if it is not or if metadata is missing. """ value = _cache.get(feature) if value is not None: return value requirements = _requirements.get(feature) if requirements is None: # we make a cache entry here for consistency not performance _cache[feature] = False return False ok = True for requirement in requirements: if not _version_check(requirement): ok = False break _cache[feature] = ok return ok def force(feature: str, enabled: bool) -> None: """Force the status of *feature* to be *enabled*. This method is provided as a workaround for any cases where importlib.metadata is ineffective, or for testing. """ _cache[feature] = enabled _requirements: Dict[str, List[str]] = { ### BEGIN generated requirements "dnssec": ["cryptography>=43"], "doh": ["httpcore>=1.0.0", "httpx>=0.26.0", "h2>=4.1.0"], "doq": ["aioquic>=1.0.0"], "idna": ["idna>=3.7"], "trio": ["trio>=0.23"], "wmi": ["wmi>=1.5.1"], ### END generated requirements }
Upload File
Create Folder