Skip to content

Commit

Permalink
Use Sequence instead of List for nameservers, as List is invariant (
Browse files Browse the repository at this point in the history
#961)

without this, resolver.nameservers = string.split() produces mypy error, see
https://mypy.readthedocs.io/en/stable/common_issues.html#invariance-vs-covariance
  • Loading branch information
av223119 committed Jul 19, 2023
1 parent 3b923b3 commit 7c78b94
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions dns/resolver.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
import threading
import time
import warnings
from typing import Any, Dict, Iterator, List, Optional, Tuple, Union
from typing import Any, Dict, Iterator, List, Optional, Sequence, Tuple, Union
from urllib.parse import urlparse

import dns._ddr
Expand Down Expand Up @@ -920,7 +920,7 @@ class BaseResolver:
retry_servfail: bool
rotate: bool
ndots: Optional[int]
_nameservers: List[Union[str, dns.nameserver.Nameserver]]
_nameservers: Sequence[Union[str, dns.nameserver.Nameserver]]

def __init__(
self, filename: str = "/etc/resolv.conf", configure: bool = True
Expand Down Expand Up @@ -1176,7 +1176,7 @@ def set_flags(self, flags: int) -> None:
@classmethod
def _enrich_nameservers(
cls,
nameservers: List[Union[str, dns.nameserver.Nameserver]],
nameservers: Sequence[Union[str, dns.nameserver.Nameserver]],
nameserver_ports: Dict[str, int],
default_port: int,
) -> List[dns.nameserver.Nameserver]:
Expand Down Expand Up @@ -1214,12 +1214,12 @@ def _enrich_nameservers(
@property
def nameservers(
self,
) -> List[Union[str, dns.nameserver.Nameserver]]:
) -> Sequence[Union[str, dns.nameserver.Nameserver]]:
return self._nameservers

@nameservers.setter
def nameservers(
self, nameservers: List[Union[str, dns.nameserver.Nameserver]]
self, nameservers: Sequence[Union[str, dns.nameserver.Nameserver]]
) -> None:
"""
*nameservers*, a ``list`` of nameservers, where a nameserver is either
Expand Down

0 comments on commit 7c78b94

Please sign in to comment.