diff options
Diffstat (limited to 'test/lib/ansible_test/_internal/cli/parsers')
4 files changed, 27 insertions, 28 deletions
diff --git a/test/lib/ansible_test/_internal/cli/parsers/__init__.py b/test/lib/ansible_test/_internal/cli/parsers/__init__.py index fc6c21666b..1aedf6301e 100644 --- a/test/lib/ansible_test/_internal/cli/parsers/__init__.py +++ b/test/lib/ansible_test/_internal/cli/parsers/__init__.py @@ -53,7 +53,7 @@ from .base_argument_parsers import ( class OriginControllerParser(ControllerNamespaceParser, TypeParser): """Composite argument parser for the controller when delegation is not supported.""" - def get_stateless_parsers(self) -> t.Dict[str, Parser]: + def get_stateless_parsers(self) -> dict[str, Parser]: """Return a dictionary of type names and type parsers.""" return dict( origin=OriginParser(), @@ -71,9 +71,9 @@ class OriginControllerParser(ControllerNamespaceParser, TypeParser): class DelegatedControllerParser(ControllerNamespaceParser, TypeParser): """Composite argument parser for the controller when delegation is supported.""" - def get_stateless_parsers(self) -> t.Dict[str, Parser]: + def get_stateless_parsers(self) -> dict[str, Parser]: """Return a dictionary of type names and type parsers.""" - parsers: t.Dict[str, Parser] = dict( + parsers: dict[str, Parser] = dict( origin=OriginParser(), docker=DockerParser(controller=True), ) @@ -97,9 +97,9 @@ class DelegatedControllerParser(ControllerNamespaceParser, TypeParser): class PosixTargetParser(TargetNamespaceParser, TypeParser): """Composite argument parser for a POSIX target.""" - def get_stateless_parsers(self) -> t.Dict[str, Parser]: + def get_stateless_parsers(self) -> dict[str, Parser]: """Return a dictionary of type names and type parsers.""" - parsers: t.Dict[str, Parser] = dict( + parsers: dict[str, Parser] = dict( controller=ControllerParser(), docker=DockerParser(controller=False), ) @@ -132,17 +132,17 @@ class WindowsTargetParser(TargetsNamespaceParser, TypeParser): """True if inventory is allowed, otherwise False.""" return True - def get_parsers(self, state: ParserState) -> t.Dict[str, Parser]: + def get_parsers(self, state: ParserState) -> dict[str, Parser]: """Return a dictionary of type names and type parsers.""" return self.get_internal_parsers(state.root_namespace.targets) - def get_stateless_parsers(self) -> t.Dict[str, Parser]: + def get_stateless_parsers(self) -> dict[str, Parser]: """Return a dictionary of type names and type parsers.""" return self.get_internal_parsers([]) - def get_internal_parsers(self, targets: t.List[WindowsConfig]) -> t.Dict[str, Parser]: + def get_internal_parsers(self, targets: list[WindowsConfig]) -> dict[str, Parser]: """Return a dictionary of type names and type parsers.""" - parsers: t.Dict[str, Parser] = {} + parsers: dict[str, Parser] = {} if self.allow_inventory and not targets: parsers.update( @@ -174,17 +174,17 @@ class NetworkTargetParser(TargetsNamespaceParser, TypeParser): """True if inventory is allowed, otherwise False.""" return True - def get_parsers(self, state: ParserState) -> t.Dict[str, Parser]: + def get_parsers(self, state: ParserState) -> dict[str, Parser]: """Return a dictionary of type names and type parsers.""" return self.get_internal_parsers(state.root_namespace.targets) - def get_stateless_parsers(self) -> t.Dict[str, Parser]: + def get_stateless_parsers(self) -> dict[str, Parser]: """Return a dictionary of type names and type parsers.""" return self.get_internal_parsers([]) - def get_internal_parsers(self, targets: t.List[NetworkConfig]) -> t.Dict[str, Parser]: + def get_internal_parsers(self, targets: list[NetworkConfig]) -> dict[str, Parser]: """Return a dictionary of type names and type parsers.""" - parsers: t.Dict[str, Parser] = {} + parsers: dict[str, Parser] = {} if self.allow_inventory and not targets: parsers.update( diff --git a/test/lib/ansible_test/_internal/cli/parsers/helpers.py b/test/lib/ansible_test/_internal/cli/parsers/helpers.py index f415d421d8..836a893dec 100644 --- a/test/lib/ansible_test/_internal/cli/parsers/helpers.py +++ b/test/lib/ansible_test/_internal/cli/parsers/helpers.py @@ -1,8 +1,6 @@ """Helper functions for composite parsers.""" from __future__ import annotations -import typing as t - from ...constants import ( CONTROLLER_PYTHON_VERSIONS, SUPPORTED_PYTHON_VERSIONS, @@ -21,7 +19,7 @@ from ...host_configs import ( ) -def get_docker_pythons(name: str, controller: bool, strict: bool) -> t.List[str]: +def get_docker_pythons(name: str, controller: bool, strict: bool) -> list[str]: """Return a list of docker instance Python versions supported by the specified host config.""" image_config = filter_completion(docker_completion()).get(name) available_pythons = CONTROLLER_PYTHON_VERSIONS if controller else SUPPORTED_PYTHON_VERSIONS @@ -34,7 +32,7 @@ def get_docker_pythons(name: str, controller: bool, strict: bool) -> t.List[str] return supported_pythons -def get_remote_pythons(name: str, controller: bool, strict: bool) -> t.List[str]: +def get_remote_pythons(name: str, controller: bool, strict: bool) -> list[str]: """Return a list of remote instance Python versions supported by the specified host config.""" platform_config = filter_completion(remote_completion()).get(name) available_pythons = CONTROLLER_PYTHON_VERSIONS if controller else SUPPORTED_PYTHON_VERSIONS @@ -47,7 +45,7 @@ def get_remote_pythons(name: str, controller: bool, strict: bool) -> t.List[str] return supported_pythons -def get_controller_pythons(controller_config: HostConfig, strict: bool) -> t.List[str]: +def get_controller_pythons(controller_config: HostConfig, strict: bool) -> list[str]: """Return a list of controller Python versions supported by the specified host config.""" if isinstance(controller_config, DockerConfig): pythons = get_docker_pythons(controller_config.name, False, strict) diff --git a/test/lib/ansible_test/_internal/cli/parsers/key_value_parsers.py b/test/lib/ansible_test/_internal/cli/parsers/key_value_parsers.py index 763b626431..7f184c37de 100644 --- a/test/lib/ansible_test/_internal/cli/parsers/key_value_parsers.py +++ b/test/lib/ansible_test/_internal/cli/parsers/key_value_parsers.py @@ -46,7 +46,7 @@ from .helpers import ( class OriginKeyValueParser(KeyValueParser): """Composite argument parser for origin key/value pairs.""" - def get_parsers(self, state: ParserState) -> t.Dict[str, Parser]: + def get_parsers(self, state: ParserState) -> dict[str, Parser]: """Return a dictionary of key names and value parsers.""" versions = CONTROLLER_PYTHON_VERSIONS @@ -69,7 +69,7 @@ class OriginKeyValueParser(KeyValueParser): class ControllerKeyValueParser(KeyValueParser): """Composite argument parser for controller key/value pairs.""" - def get_parsers(self, state: ParserState) -> t.Dict[str, Parser]: + def get_parsers(self, state: ParserState) -> dict[str, Parser]: """Return a dictionary of key names and value parsers.""" versions = get_controller_pythons(state.root_namespace.controller, False) allow_default = bool(get_controller_pythons(state.root_namespace.controller, True)) @@ -98,7 +98,7 @@ class DockerKeyValueParser(KeyValueParser): self.versions = get_docker_pythons(image, controller, False) self.allow_default = bool(get_docker_pythons(image, controller, True)) - def get_parsers(self, state: ParserState) -> t.Dict[str, Parser]: + def get_parsers(self, state: ParserState) -> dict[str, Parser]: """Return a dictionary of key names and value parsers.""" return dict( python=PythonParser(versions=self.versions, allow_venv=False, allow_default=self.allow_default), @@ -130,7 +130,7 @@ class PosixRemoteKeyValueParser(KeyValueParser): self.versions = get_remote_pythons(name, controller, False) self.allow_default = bool(get_remote_pythons(name, controller, True)) - def get_parsers(self, state: ParserState) -> t.Dict[str, Parser]: + def get_parsers(self, state: ParserState) -> dict[str, Parser]: """Return a dictionary of key names and value parsers.""" return dict( become=ChoicesParser(list(SUPPORTED_BECOME_METHODS)), @@ -157,7 +157,7 @@ class PosixRemoteKeyValueParser(KeyValueParser): class WindowsRemoteKeyValueParser(KeyValueParser): """Composite argument parser for Windows remote key/value pairs.""" - def get_parsers(self, state: ParserState) -> t.Dict[str, Parser]: + def get_parsers(self, state: ParserState) -> dict[str, Parser]: """Return a dictionary of key names and value parsers.""" return dict( provider=ChoicesParser(REMOTE_PROVIDERS), @@ -178,7 +178,7 @@ class WindowsRemoteKeyValueParser(KeyValueParser): class NetworkRemoteKeyValueParser(KeyValueParser): """Composite argument parser for network remote key/value pairs.""" - def get_parsers(self, state: ParserState) -> t.Dict[str, Parser]: + def get_parsers(self, state: ParserState) -> dict[str, Parser]: """Return a dictionary of key names and value parsers.""" return dict( provider=ChoicesParser(REMOTE_PROVIDERS), @@ -203,7 +203,7 @@ class NetworkRemoteKeyValueParser(KeyValueParser): class PosixSshKeyValueParser(KeyValueParser): """Composite argument parser for POSIX SSH host key/value pairs.""" - def get_parsers(self, state: ParserState) -> t.Dict[str, Parser]: + def get_parsers(self, state: ParserState) -> dict[str, Parser]: """Return a dictionary of key names and value parsers.""" return dict( python=PythonParser(versions=list(SUPPORTED_PYTHON_VERSIONS), allow_venv=False, allow_default=False), @@ -224,6 +224,6 @@ class PosixSshKeyValueParser(KeyValueParser): class EmptyKeyValueParser(KeyValueParser): """Composite argument parser when a key/value parser is required but there are no keys available.""" - def get_parsers(self, state: ParserState) -> t.Dict[str, Parser]: + def get_parsers(self, state: ParserState) -> dict[str, Parser]: """Return a dictionary of key names and value parsers.""" return {} diff --git a/test/lib/ansible_test/_internal/cli/parsers/value_parsers.py b/test/lib/ansible_test/_internal/cli/parsers/value_parsers.py index 408462e4c9..9453b76098 100644 --- a/test/lib/ansible_test/_internal/cli/parsers/value_parsers.py +++ b/test/lib/ansible_test/_internal/cli/parsers/value_parsers.py @@ -1,6 +1,7 @@ """Composite argument value parsers used by other parsers.""" from __future__ import annotations +import collections.abc as c import typing as t from ...host_configs import ( @@ -60,7 +61,7 @@ class PythonParser(Parser): The origin host and unknown environments assume all relevant Python versions are available. """ def __init__(self, - versions: t.Sequence[str], + versions: c.Sequence[str], *, allow_default: bool, allow_venv: bool, @@ -133,7 +134,7 @@ class PythonParser(Parser): class PlatformParser(ChoicesParser): """Composite argument parser for "{platform}/{version}" formatted choices.""" - def __init__(self, choices: t.List[str]) -> None: + def __init__(self, choices: list[str]) -> None: super().__init__(choices, conditions=MatchConditions.CHOICE | MatchConditions.ANY) def parse(self, state: ParserState) -> t.Any: |