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: ttl.py
# Copyright (C) Dnspython Contributors, see LICENSE for text of ISC license # Copyright (C) 2003-2017 Nominum, Inc. # # Permission to use, copy, modify, and distribute this software and its # documentation for any purpose with or without fee is hereby granted, # provided that the above copyright notice and this permission notice # appear in all copies. # # THE SOFTWARE IS PROVIDED "AS IS" AND NOMINUM DISCLAIMS ALL WARRANTIES # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL NOMINUM BE LIABLE FOR # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT # OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. """DNS TTL conversion.""" from typing import Union import dns.exception # Technically TTLs are supposed to be between 0 and 2**31 - 1, with values # greater than that interpreted as 0, but we do not impose this policy here # as values > 2**31 - 1 occur in real world data. # # We leave it to applications to impose tighter bounds if desired. MAX_TTL = 2**32 - 1 class BadTTL(dns.exception.SyntaxError): """DNS TTL value is not well-formed.""" def from_text(text: str) -> int: """Convert the text form of a TTL to an integer. The BIND 8 units syntax for TTLs (e.g. '1w6d4h3m10s') is supported. *text*, a ``str``, the textual TTL. Raises ``dns.ttl.BadTTL`` if the TTL is not well-formed. Returns an ``int``. """ if text.isdigit(): total = int(text) elif len(text) == 0: raise BadTTL else: total = 0 current = 0 need_digit = True for c in text: if c.isdigit(): current *= 10 current += int(c) need_digit = False else: if need_digit: raise BadTTL c = c.lower() if c == "w": total += current * 604800 elif c == "d": total += current * 86400 elif c == "h": total += current * 3600 elif c == "m": total += current * 60 elif c == "s": total += current else: raise BadTTL(f"unknown unit '{c}'") current = 0 need_digit = True if not current == 0: raise BadTTL("trailing integer") if total < 0 or total > MAX_TTL: raise BadTTL("TTL should be between 0 and 2**32 - 1 (inclusive)") return total def make(value: Union[int, str]) -> int: if isinstance(value, int): return value elif isinstance(value, str): return dns.ttl.from_text(value) else: raise ValueError("cannot convert value to TTL")
Upload File
Create Folder