DSDigest class isn't available prior to dnspython 2.0.0 and prior to Add
an isctest.compat.DSDigest compatibility hack to support those versions.
class EDEOption:
def __new__(cls, *args, **kwargs):
raise RuntimeError("Using EDEOption requires dnspython>=2.2.0")
+
+
+# pylint: disable=unused-import
+try:
+ from dns.dnssec import DSDigest
+except ImportError: # dnspython<2.0.0
+ import enum
+
+ class DSDigest(enum.IntEnum): # type: ignore
+ """DNSSEC Delgation Signer Digest Algorithm"""
+
+ SHA1 = 1
+ SHA256 = 2
+ SHA384 = 4
import dns
import dns.dnssec
-from dns.dnssectypes import DSDigest
import dns.rdatatype
import dns.rrset
import dns.tsig
import isctest.log
import isctest.query
import isctest.util
+from isctest.compat import DSDigest
from isctest.instance import NamedInstance
from isctest.template import TrustAnchor
from isctest.vars.algorithms import Algorithm, ALL_ALGORITHMS_BY_NUM