Skip to content

Commit 46fe762

Browse files
author
harabat
committed
fix: add custom filter to add python names to path
1 parent 2916421 commit 46fe762

File tree

3 files changed

+17
-2
lines changed

3 files changed

+17
-2
lines changed

openapi_python_client/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
"snakecase": utils.snake_case,
2828
"kebabcase": utils.kebab_case,
2929
"pascalcase": utils.pascal_case,
30+
"convert_endpoint_path": utils.convert_endpoint_path,
3031
"any": any,
3132
}
3233

openapi_python_client/templates/endpoint_module.py.jinja

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ def _get_kwargs(
2929
_kwargs: Dict[str, Any] = {
3030
"method": "{{ endpoint.method }}",
3131
{% if endpoint.path_parameters %}
32-
"url": "{{ endpoint.path }}".format(
32+
"url": "{{ endpoint | convert_endpoint_path }}".format(
3333
{%- for parameter in endpoint.path_parameters -%}
34-
{{parameter.name}}={{parameter.python_name}},
34+
{{parameter.python_name}}={{parameter.python_name}},
3535
{%- endfor -%}
3636
),
3737
{% else %}

openapi_python_client/utils.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,3 +118,17 @@ def get_content_type(content_type: str) -> str | None:
118118
return None
119119

120120
return parsed_content_type
121+
122+
123+
def convert_endpoint_path(endpoint) -> str:
124+
"""
125+
Converts parameter names within the endpoint path to their python names.
126+
"""
127+
128+
endpoint_path_python_names = endpoint.path
129+
for parameter in endpoint.path_parameters:
130+
endpoint_path_python_names = endpoint_path_python_names.replace(
131+
f'{{{parameter.name}}}',
132+
f'{{{parameter.python_name}}}'
133+
)
134+
return endpoint_path_python_names

0 commit comments

Comments
 (0)