Fix/improve typing. (#905)

This commit is contained in:
Felix Fontein
2025-05-29 23:10:35 +02:00
committed by GitHub
parent b8adc3b241
commit 52b21b5177
4 changed files with 41 additions and 5 deletions

View File

@@ -144,7 +144,7 @@ class CertificateSigningRequestBackend(metaclass=abc.ABCMeta):
)
self.ordered_subject = False
self.subject = [
subject = [
("C", module.params["country_name"]),
("ST", module.params["state_or_province_name"]),
("L", module.params["locality_name"]),
@@ -153,7 +153,9 @@ class CertificateSigningRequestBackend(metaclass=abc.ABCMeta):
("CN", module.params["common_name"]),
("emailAddress", module.params["email_address"]),
]
self.subject = [(entry[0], entry[1]) for entry in self.subject if entry[1]]
self.subject: list[tuple[str, str]] = [
(entry[0], entry[1]) for entry in subject if entry[1]
]
try:
if module.params["subject"]:

View File

@@ -292,11 +292,27 @@ def load_certificate_request(
raise OpenSSLObjectError(exc) from exc
@t.overload
def parse_name_field(
input_dict: dict[str, list[str] | str],
*,
name_field_name: str | None = None,
) -> list[tuple[str, str]]: ...
@t.overload
def parse_name_field(
input_dict: dict[str, list[str | bytes] | str | bytes],
*,
name_field_name: str | None = None,
) -> list[tuple[str, str | bytes]]:
) -> list[tuple[str, str | bytes]]: ...
def parse_name_field(
input_dict: dict[str, t.Any],
*,
name_field_name: str | None = None,
) -> list:
"""Take a dict with key: value or key: list_of_values mappings and return a list of tuples"""
def error_str(key: str) -> str:
@@ -328,11 +344,27 @@ def parse_name_field(
return result
@t.overload
def parse_ordered_name_field(
input_list: list[dict[str, list[str] | str]],
*,
name_field_name: str,
) -> list[tuple[str, str]]: ...
@t.overload
def parse_ordered_name_field(
input_list: list[dict[str, list[str | bytes] | str | bytes]],
*,
name_field_name: str,
) -> list[tuple[str, str | bytes]]:
) -> list[tuple[str, str | bytes]]: ...
def parse_ordered_name_field(
input_list: list[dict[str, t.Any]],
*,
name_field_name: str,
) -> list:
"""Take a dict with key: value or key: list_of_values mappings and return a list of tuples"""
result = []

View File

@@ -403,6 +403,7 @@ class KeypairBackendOpensshBin(KeypairBackend):
)
def _update_comment(self) -> None:
assert self.comment is not None
try:
ssh_version = self._get_ssh_version() or "7.8"
force_new_format = (
@@ -527,6 +528,7 @@ class KeypairBackendCryptography(KeypairBackend):
return True
def _update_comment(self) -> None:
assert self.comment is not None
keypair = OpensshKeypair.load(
path=self.private_key_path, passphrase=self.passphrase, no_public_key=True
)

View File

@@ -468,7 +468,7 @@ class OpensshECDSACertificateInfo(OpensshCertificateInfo):
self, *, curve: bytes | None = None, public_key: bytes | None = None, **kwargs
):
super().__init__(**kwargs)
self._curve = None
self._curve: bytes | None = None
if curve is not None:
self.curve = curve