Skip to content

Commit 6a3becc

Browse files
author
Raphael Krupinski
committed
🐛 Encode path in JSON Pointer.
1 parent 73cf49b commit 6a3becc

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

src/lapidary/render/model/openapi_conv.py

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
from lapidary.runtime import SecurityRequirements
99

10-
from .. import names
10+
from .. import json_pointer, names
1111
from . import openapi, python
1212
from .refs import resolve_ref
1313
from .schema import OpenApi30SchemaConverter
@@ -113,15 +113,20 @@ def process_parameter(self, value: openapi.Parameter, stack: Stack) -> python.Pa
113113

114114
def process_paths(self, value: openapi.Paths, stack: Stack) -> None:
115115
for path, path_item in value.paths.items():
116-
path_stack = stack.push(path)
117-
common_params_stack = path_stack.push('parameters')
118-
common_params = [
119-
self.process_parameter(param, common_params_stack.push(idx))
120-
for idx, param in enumerate(path_item.parameters)
121-
]
122-
123-
for method, operation in path_item.model_extra.items():
124-
self.process_operation(operation, path_stack.push(method), common_params)
116+
self.process_path(path_item, stack.push(json_pointer.encode_json_pointer(path)))
117+
118+
def process_path(
119+
self,
120+
value: openapi.PathItem,
121+
stack: Stack,
122+
) -> None:
123+
common_params_stack = stack.push('parameters')
124+
common_params = [
125+
self.process_parameter(param, common_params_stack.push(idx)) for idx, param in enumerate(value.parameters)
126+
]
127+
128+
for method, operation in value.model_extra.items():
129+
self.process_operation(operation, stack.push(method), common_params)
125130

126131
def process_request_body(self, value: openapi.RequestBody, stack: Stack) -> python.MimeMap:
127132
return self.process_content(value.content, stack.push('content'))

0 commit comments

Comments
 (0)