|
7 | 7 |
|
8 | 8 | from lapidary.runtime import SecurityRequirements |
9 | 9 |
|
10 | | -from .. import names |
| 10 | +from .. import json_pointer, names |
11 | 11 | from . import openapi, python |
12 | 12 | from .refs import resolve_ref |
13 | 13 | from .schema import OpenApi30SchemaConverter |
@@ -113,15 +113,20 @@ def process_parameter(self, value: openapi.Parameter, stack: Stack) -> python.Pa |
113 | 113 |
|
114 | 114 | def process_paths(self, value: openapi.Paths, stack: Stack) -> None: |
115 | 115 | 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) |
125 | 130 |
|
126 | 131 | def process_request_body(self, value: openapi.RequestBody, stack: Stack) -> python.MimeMap: |
127 | 132 | return self.process_content(value.content, stack.push('content')) |
|
0 commit comments