Skip to content

Commit 8e92c42

Browse files
authored
Merge pull request #901 from python-openapi/dependabot/pip/mypy-1.11.2
Bump mypy from 1.8.0 to 1.11.2
2 parents 9f27406 + afabfe5 commit 8e92c42

File tree

3 files changed

+44
-39
lines changed

3 files changed

+44
-39
lines changed

openapi_core/deserializing/media_types/util.py

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1+
from email.message import Message
12
from email.parser import Parser
23
from json import loads
34
from typing import Any
5+
from typing import Iterator
46
from typing import Mapping
7+
from typing import Tuple
58
from urllib.parse import parse_qsl
69
from xml.etree.ElementTree import Element
710
from xml.etree.ElementTree import fromstring
@@ -57,12 +60,14 @@ def data_form_loads(value: bytes, **parameters: str) -> Mapping[str, Any]:
5760
header = f'Content-Type: {mimetype}; boundary="{boundary}"'
5861
text = "\n\n".join([header, decoded])
5962
parts = parser.parsestr(text, headersonly=False)
60-
return ImmutableMultiDict(
61-
[
62-
(
63-
part.get_param("name", header="content-disposition"),
64-
part.get_payload(decode=True),
65-
)
66-
for part in parts.get_payload()
67-
]
68-
)
63+
return ImmutableMultiDict(list(iter_payloads(parts)))
64+
65+
66+
def iter_payloads(parts: Message) -> Iterator[Tuple[str, bytes]]:
67+
for part in parts.get_payload():
68+
assert isinstance(part, Message)
69+
name = part.get_param("name", header="content-disposition")
70+
assert isinstance(name, str)
71+
payload = part.get_payload(decode=True)
72+
assert isinstance(payload, bytes)
73+
yield name, payload

openapi_core/validation/validators.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ def __init__(
8383
"schema_validators_factory is not assigned"
8484
)
8585
self.path_finder_cls = path_finder_cls or self.path_finder_cls
86-
if self.path_finder_cls is NotImplemented: # type: ignore[comparison-overlap]
86+
if self.path_finder_cls is NotImplemented:
8787
raise NotImplementedError("path_finder_cls is not assigned")
8888
self.spec_validator_cls = spec_validator_cls or self.spec_validator_cls
8989
self.format_validators = format_validators

poetry.lock

Lines changed: 29 additions & 29 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)