Skip to content

Commit 9a348dc

Browse files
committed
Parameter deesrialized renamed Style deserializer
1 parent cbbe084 commit 9a348dc

File tree

13 files changed

+60
-60
lines changed

13 files changed

+60
-60
lines changed

openapi_core/deserializing/parameters/__init__.py

Lines changed: 0 additions & 7 deletions
This file was deleted.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
from openapi_core.deserializing.styles.factories import (
2+
StyleDeserializersFactory,
3+
)
4+
5+
__all__ = ["style_deserializers_factory"]
6+
7+
style_deserializers_factory = StyleDeserializersFactory()

openapi_core/deserializing/parameters/deserializers.py renamed to openapi_core/deserializing/styles/deserializers.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,18 @@
55
from typing import Optional
66

77
from openapi_core.deserializing.exceptions import DeserializeError
8-
from openapi_core.deserializing.parameters.datatypes import (
8+
from openapi_core.deserializing.styles.datatypes import (
99
DeserializerCallable,
1010
)
11-
from openapi_core.deserializing.parameters.exceptions import (
11+
from openapi_core.deserializing.styles.exceptions import (
1212
EmptyQueryParameterValue,
1313
)
1414
from openapi_core.schema.parameters import get_aslist
1515
from openapi_core.schema.parameters import get_explode
1616
from openapi_core.spec import Spec
1717

1818

19-
class CallableParameterDeserializer:
19+
class CallableStyleDeserializer:
2020
def __init__(
2121
self,
2222
param_or_header: Spec,

openapi_core/deserializing/parameters/exceptions.py renamed to openapi_core/deserializing/styles/exceptions.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@
44

55

66
@dataclass
7-
class BaseParameterDeserializeError(DeserializeError):
8-
"""Base parameter deserialize operation error"""
7+
class BaseStyleDeserializeError(DeserializeError):
8+
"""Base style deserialize operation error"""
99

1010
location: str
1111

1212

1313
@dataclass
14-
class ParameterDeserializeError(BaseParameterDeserializeError):
14+
class ParameterDeserializeError(BaseStyleDeserializeError):
1515
"""Parameter deserialize operation error"""
1616

1717
style: str
@@ -25,7 +25,7 @@ def __str__(self) -> str:
2525

2626

2727
@dataclass(init=False)
28-
class EmptyQueryParameterValue(BaseParameterDeserializeError):
28+
class EmptyQueryParameterValue(BaseStyleDeserializeError):
2929
name: str
3030

3131
def __init__(self, name: str):

openapi_core/deserializing/parameters/factories.py renamed to openapi_core/deserializing/styles/factories.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,30 @@
22
from functools import partial
33
from typing import Dict
44

5-
from openapi_core.deserializing.parameters.datatypes import (
5+
from openapi_core.deserializing.styles.datatypes import (
66
DeserializerCallable,
77
)
8-
from openapi_core.deserializing.parameters.deserializers import (
9-
CallableParameterDeserializer,
8+
from openapi_core.deserializing.styles.deserializers import (
9+
CallableStyleDeserializer,
1010
)
11-
from openapi_core.deserializing.parameters.util import split
11+
from openapi_core.deserializing.styles.util import split
1212
from openapi_core.schema.parameters import get_style
1313
from openapi_core.spec import Spec
1414

1515

16-
class ParameterDeserializersFactory:
17-
PARAMETER_STYLE_DESERIALIZERS: Dict[str, DeserializerCallable] = {
16+
class StyleDeserializersFactory:
17+
STYLE_DESERIALIZERS: Dict[str, DeserializerCallable] = {
1818
"form": partial(split, separator=","),
1919
"simple": partial(split, separator=","),
2020
"spaceDelimited": partial(split, separator=" "),
2121
"pipeDelimited": partial(split, separator="|"),
2222
"deepObject": partial(re.split, pattern=r"\[|\]"),
2323
}
2424

25-
def create(self, param_or_header: Spec) -> CallableParameterDeserializer:
25+
def create(self, param_or_header: Spec) -> CallableStyleDeserializer:
2626
style = get_style(param_or_header)
2727

28-
deserialize_callable = self.PARAMETER_STYLE_DESERIALIZERS.get(style)
29-
return CallableParameterDeserializer(
28+
deserialize_callable = self.STYLE_DESERIALIZERS.get(style)
29+
return CallableStyleDeserializer(
3030
param_or_header, style, deserialize_callable
3131
)

openapi_core/unmarshalling/request/unmarshallers.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@
1111
from openapi_core.deserializing.media_types.factories import (
1212
MediaTypeDeserializersFactory,
1313
)
14-
from openapi_core.deserializing.parameters import (
15-
parameter_deserializers_factory,
14+
from openapi_core.deserializing.styles import (
15+
style_deserializers_factory,
1616
)
17-
from openapi_core.deserializing.parameters.factories import (
18-
ParameterDeserializersFactory,
17+
from openapi_core.deserializing.styles.factories import (
18+
StyleDeserializersFactory,
1919
)
2020
from openapi_core.protocols import BaseRequest
2121
from openapi_core.protocols import Request
@@ -86,7 +86,7 @@ def __init__(
8686
spec: Spec,
8787
base_url: Optional[str] = None,
8888
schema_casters_factory: SchemaCastersFactory = schema_casters_factory,
89-
parameter_deserializers_factory: ParameterDeserializersFactory = parameter_deserializers_factory,
89+
style_deserializers_factory: StyleDeserializersFactory = style_deserializers_factory,
9090
media_type_deserializers_factory: MediaTypeDeserializersFactory = media_type_deserializers_factory,
9191
schema_validators_factory: Optional[SchemaValidatorsFactory] = None,
9292
format_validators: Optional[FormatValidatorsDict] = None,
@@ -106,7 +106,7 @@ def __init__(
106106
spec,
107107
base_url=base_url,
108108
schema_casters_factory=schema_casters_factory,
109-
parameter_deserializers_factory=parameter_deserializers_factory,
109+
style_deserializers_factory=style_deserializers_factory,
110110
media_type_deserializers_factory=media_type_deserializers_factory,
111111
schema_validators_factory=schema_validators_factory,
112112
format_validators=format_validators,
@@ -121,7 +121,7 @@ def __init__(
121121
spec,
122122
base_url=base_url,
123123
schema_casters_factory=schema_casters_factory,
124-
parameter_deserializers_factory=parameter_deserializers_factory,
124+
style_deserializers_factory=style_deserializers_factory,
125125
media_type_deserializers_factory=media_type_deserializers_factory,
126126
schema_validators_factory=schema_validators_factory,
127127
format_validators=format_validators,

openapi_core/unmarshalling/unmarshallers.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@
1414
from openapi_core.deserializing.media_types.factories import (
1515
MediaTypeDeserializersFactory,
1616
)
17-
from openapi_core.deserializing.parameters import (
18-
parameter_deserializers_factory,
17+
from openapi_core.deserializing.styles import (
18+
style_deserializers_factory,
1919
)
20-
from openapi_core.deserializing.parameters.factories import (
21-
ParameterDeserializersFactory,
20+
from openapi_core.deserializing.styles.factories import (
21+
StyleDeserializersFactory,
2222
)
2323
from openapi_core.spec import Spec
2424
from openapi_core.unmarshalling.schemas.datatypes import (
@@ -40,7 +40,7 @@ def __init__(
4040
spec: Spec,
4141
base_url: Optional[str] = None,
4242
schema_casters_factory: SchemaCastersFactory = schema_casters_factory,
43-
parameter_deserializers_factory: ParameterDeserializersFactory = parameter_deserializers_factory,
43+
style_deserializers_factory: StyleDeserializersFactory = style_deserializers_factory,
4444
media_type_deserializers_factory: MediaTypeDeserializersFactory = media_type_deserializers_factory,
4545
schema_validators_factory: Optional[SchemaValidatorsFactory] = None,
4646
format_validators: Optional[FormatValidatorsDict] = None,
@@ -62,7 +62,7 @@ def __init__(
6262
spec,
6363
base_url=base_url,
6464
schema_casters_factory=schema_casters_factory,
65-
parameter_deserializers_factory=parameter_deserializers_factory,
65+
style_deserializers_factory=style_deserializers_factory,
6666
media_type_deserializers_factory=media_type_deserializers_factory,
6767
schema_validators_factory=schema_validators_factory,
6868
format_validators=format_validators,

openapi_core/validation/request/validators.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@
1818
from openapi_core.deserializing.media_types.factories import (
1919
MediaTypeDeserializersFactory,
2020
)
21-
from openapi_core.deserializing.parameters import (
22-
parameter_deserializers_factory,
21+
from openapi_core.deserializing.styles import (
22+
style_deserializers_factory,
2323
)
24-
from openapi_core.deserializing.parameters.factories import (
25-
ParameterDeserializersFactory,
24+
from openapi_core.deserializing.styles.factories import (
25+
StyleDeserializersFactory,
2626
)
2727
from openapi_core.protocols import BaseRequest
2828
from openapi_core.protocols import Request
@@ -68,7 +68,7 @@ def __init__(
6868
spec: Spec,
6969
base_url: Optional[str] = None,
7070
schema_casters_factory: SchemaCastersFactory = schema_casters_factory,
71-
parameter_deserializers_factory: ParameterDeserializersFactory = parameter_deserializers_factory,
71+
style_deserializers_factory: StyleDeserializersFactory = style_deserializers_factory,
7272
media_type_deserializers_factory: MediaTypeDeserializersFactory = media_type_deserializers_factory,
7373
schema_validators_factory: Optional[SchemaValidatorsFactory] = None,
7474
format_validators: Optional[FormatValidatorsDict] = None,
@@ -82,7 +82,7 @@ def __init__(
8282
spec,
8383
base_url=base_url,
8484
schema_casters_factory=schema_casters_factory,
85-
parameter_deserializers_factory=parameter_deserializers_factory,
85+
style_deserializers_factory=style_deserializers_factory,
8686
media_type_deserializers_factory=media_type_deserializers_factory,
8787
schema_validators_factory=schema_validators_factory,
8888
format_validators=format_validators,

openapi_core/validation/validators.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@
1717
from openapi_core.deserializing.media_types.factories import (
1818
MediaTypeDeserializersFactory,
1919
)
20-
from openapi_core.deserializing.parameters import (
21-
parameter_deserializers_factory,
20+
from openapi_core.deserializing.styles import (
21+
style_deserializers_factory,
2222
)
23-
from openapi_core.deserializing.parameters.factories import (
24-
ParameterDeserializersFactory,
23+
from openapi_core.deserializing.styles.factories import (
24+
StyleDeserializersFactory,
2525
)
2626
from openapi_core.protocols import Request
2727
from openapi_core.protocols import WebhookRequest
@@ -44,7 +44,7 @@ def __init__(
4444
spec: Spec,
4545
base_url: Optional[str] = None,
4646
schema_casters_factory: SchemaCastersFactory = schema_casters_factory,
47-
parameter_deserializers_factory: ParameterDeserializersFactory = parameter_deserializers_factory,
47+
style_deserializers_factory: StyleDeserializersFactory = style_deserializers_factory,
4848
media_type_deserializers_factory: MediaTypeDeserializersFactory = media_type_deserializers_factory,
4949
schema_validators_factory: Optional[SchemaValidatorsFactory] = None,
5050
format_validators: Optional[FormatValidatorsDict] = None,
@@ -57,7 +57,7 @@ def __init__(
5757
self.base_url = base_url
5858

5959
self.schema_casters_factory = schema_casters_factory
60-
self.parameter_deserializers_factory = parameter_deserializers_factory
60+
self.style_deserializers_factory = style_deserializers_factory
6161
self.media_type_deserializers_factory = (
6262
media_type_deserializers_factory
6363
)
@@ -78,15 +78,15 @@ def _get_media_type(self, content: Spec, mimetype: str) -> MediaType:
7878
finder = MediaTypeFinder(content)
7979
return finder.find(mimetype)
8080

81-
def _deserialise_data(self, mimetype: str, value: Any) -> Any:
81+
def _deserialise_media_type(self, mimetype: str, value: Any) -> Any:
8282
deserializer = self.media_type_deserializers_factory.create(
8383
mimetype,
8484
extra_media_type_deserializers=self.extra_media_type_deserializers,
8585
)
8686
return deserializer.deserialize(value)
8787

88-
def _deserialise_parameter(self, param: Spec, value: Any) -> Any:
89-
deserializer = self.parameter_deserializers_factory.create(param)
88+
def _deserialise_style(self, param_or_header: Spec, value: Any) -> Any:
89+
deserializer = self.style_deserializers_factory.create(param_or_header)
9090
return deserializer.deserialize(value)
9191

9292
def _cast(self, schema: Spec, value: Any) -> Any:
@@ -144,15 +144,15 @@ def _get_param_or_header_value_and_schema(
144144
else:
145145
# Simple scenario
146146
if "content" not in param_or_header:
147-
deserialised = self._deserialise_parameter(
147+
deserialised = self._deserialise_style(
148148
param_or_header, raw_value
149149
)
150150
schema = param_or_header / "schema"
151151
# Complex scenario
152152
else:
153153
content = param_or_header / "content"
154154
mimetype, media_type = next(content.items())
155-
deserialised = self._deserialise_data(mimetype, raw_value)
155+
deserialised = self._deserialise_media_type(mimetype, raw_value)
156156
schema = media_type / "schema"
157157
casted = self._cast(schema, deserialised)
158158
return casted, schema
@@ -161,7 +161,7 @@ def _get_content_value_and_schema(
161161
self, raw: Any, mimetype: str, content: Spec
162162
) -> Tuple[Any, Optional[Spec]]:
163163
media_type, mimetype = self._get_media_type(content, mimetype)
164-
deserialised = self._deserialise_data(mimetype, raw)
164+
deserialised = self._deserialise_media_type(mimetype, raw)
165165
casted = self._cast(media_type, deserialised)
166166

167167
if "schema" not in media_type:

tests/integration/test_petstore.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
from openapi_core.casting.schemas.exceptions import CastError
1515
from openapi_core.datatypes import Parameters
1616
from openapi_core.deserializing.exceptions import DeserializeError
17-
from openapi_core.deserializing.parameters.exceptions import (
17+
from openapi_core.deserializing.styles.exceptions import (
1818
EmptyQueryParameterValue,
1919
)
2020
from openapi_core.templating.media_types.exceptions import MediaTypeNotFound

tests/unit/deserializing/test_parameters_deserializers.py renamed to tests/unit/deserializing/test_styles_deserializers.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
import pytest
22

3-
from openapi_core.deserializing.parameters.exceptions import (
3+
from openapi_core.deserializing.styles.exceptions import (
44
EmptyQueryParameterValue,
55
)
6-
from openapi_core.deserializing.parameters.factories import (
7-
ParameterDeserializersFactory,
6+
from openapi_core.deserializing.styles.factories import (
7+
StyleDeserializersFactory,
88
)
99
from openapi_core.spec.paths import Spec
1010

1111

12-
class TestParameterDeserializer:
12+
class TestStyleDeserializer:
1313
@pytest.fixture
1414
def deserializer_factory(self):
1515
def create_deserializer(param):
16-
return ParameterDeserializersFactory().create(param)
16+
return StyleDeserializersFactory().create(param)
1717

1818
return create_deserializer
1919

0 commit comments

Comments
 (0)