Add basic typing for module_utils.

This commit is contained in:
Felix Fontein
2025-11-26 22:37:16 +01:00
parent fb2f34ba85
commit e74033eac1
48 changed files with 209 additions and 142 deletions

View File

@@ -9,7 +9,7 @@ from __future__ import annotations
import traceback
from contextlib import contextmanager
from ansible.module_utils.basic import missing_required_lib
from ansible.module_utils.basic import missing_required_lib, AnsibleModule
_deps = dict()
@@ -47,7 +47,7 @@ class _Dependency:
def failed(self):
return self.state == 1
def validate(self, module):
def validate(self, module: AnsibleModule) -> None:
if self.failed:
module.fail_json(msg=self.message, exception=self.trace)
@@ -86,14 +86,14 @@ def _select_names(spec):
return dep_names
def validate(module, spec=None):
def validate(module: AnsibleModule, spec=None) -> None:
for dep in _select_names(spec):
_deps[dep].validate(module)
def failed(spec=None):
def failed(spec=None) -> bool:
return any(_deps[d].failed for d in _select_names(spec))
def clear():
def clear() -> None:
_deps.clear()