From 2f3091a065fa3cb49183807b81785d8bd121f807 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Wed, 29 Mar 2023 10:00:38 -0400 Subject: [PATCH] pass mypy strict on the new module --- mypy.ini | 2 +- src/allmydata/listeners.py | 8 +++++--- src/allmydata/util/iputil.py | 12 +++--------- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/mypy.ini b/mypy.ini index 7acc0ddc5..22b8a52f9 100644 --- a/mypy.ini +++ b/mypy.ini @@ -9,7 +9,7 @@ no_implicit_optional = True warn_redundant_casts = True strict_equality = True -[mypy-allmydata.test.cli.wormholetesting] +[mypy-allmydata.test.cli.wormholetesting,allmydata.listeners] disallow_any_generics = True disallow_subclassing_any = True disallow_untyped_calls = True diff --git a/src/allmydata/listeners.py b/src/allmydata/listeners.py index 3c4e71b9c..667f984e5 100644 --- a/src/allmydata/listeners.py +++ b/src/allmydata/listeners.py @@ -6,7 +6,7 @@ detect when it is possible to use it, etc. from __future__ import annotations -from typing import Any, Protocol, Sequence, Mapping, Optional +from typing import Any, Protocol, Sequence, Mapping, Optional, Union, Awaitable from typing_extensions import Literal from attrs import frozen, define @@ -101,7 +101,7 @@ class StaticProvider: """ _available: bool _hide_ip: bool - _config: Any + _config: Union[Awaitable[ListenerConfig], ListenerConfig] _address: IAddressFamily def is_available(self) -> bool: @@ -110,7 +110,9 @@ class StaticProvider: def can_hide_ip(self) -> bool: return self._hide_ip - async def create_config(self, reactor: Any, cli_config: Any) -> None: + async def create_config(self, reactor: Any, cli_config: Any) -> ListenerConfig: + if isinstance(self._config, ListenerConfig): + return self._config return await self._config def create(self, reactor: Any, config: Any) -> IAddressFamily: diff --git a/src/allmydata/util/iputil.py b/src/allmydata/util/iputil.py index fd3e88c7f..e71e514e8 100644 --- a/src/allmydata/util/iputil.py +++ b/src/allmydata/util/iputil.py @@ -1,17 +1,10 @@ """ Utilities for getting IP addresses. - -Ported to Python 3. """ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals +from future.utils import native_str -from future.utils import PY2, native_str -if PY2: - from builtins import filter, map, zip, ascii, chr, hex, input, next, oct, open, pow, round, super, bytes, dict, list, object, range, str, max, min # noqa: F401 +from typing import Callable import os, socket @@ -39,6 +32,7 @@ from .gcutil import ( fcntl = requireModule("fcntl") +allocate_tcp_port: Callable[[], int] from foolscap.util import allocate_tcp_port # re-exported try: