2022-02-19 09:22:21 +00:00
|
|
|
{% from "property_templates/helpers.jinja" import guarded_statement %}
|
|
|
|
|
|
|
|
{% macro header_params(endpoint) %}
|
|
|
|
{% if endpoint.header_parameters %}
|
|
|
|
{% for parameter in endpoint.header_parameters.values() %}
|
|
|
|
{% set destination = 'headers["' + parameter.name + '"]' %}
|
|
|
|
{% import "property_templates/" + parameter.template as param_template %}
|
|
|
|
{% if param_template.transform_header %}
|
|
|
|
{% set statement = param_template.transform_header(parameter, parameter.python_name, destination) %}
|
|
|
|
{% else %}
|
|
|
|
{% set statement = destination + " = " + parameter.python_name %}
|
|
|
|
{% endif %}
|
|
|
|
{{ guarded_statement(parameter, parameter.python_name, statement) }}
|
|
|
|
{% endfor %}
|
|
|
|
{% endif %}
|
|
|
|
{% endmacro %}
|
|
|
|
|
|
|
|
{% macro cookie_params(endpoint) %}
|
|
|
|
{% if endpoint.cookie_parameters %}
|
|
|
|
{% for parameter in endpoint.cookie_parameters.values() %}
|
|
|
|
{% if parameter.required %}
|
|
|
|
cookies["{{ parameter.name}}"] = {{ parameter.python_name }}
|
|
|
|
{% else %}
|
|
|
|
if {{ parameter.python_name }} is not UNSET:
|
|
|
|
cookies["{{ parameter.name}}"] = {{ parameter.python_name }}
|
|
|
|
{% endif %}
|
|
|
|
{% endfor %}
|
|
|
|
{% endif %}
|
|
|
|
{% endmacro %}
|
|
|
|
|
|
|
|
|
|
|
|
{% macro query_params(endpoint) %}
|
|
|
|
{% if endpoint.query_parameters %}
|
|
|
|
params: Dict[str, Any] = {}
|
|
|
|
{% for property in endpoint.query_parameters.values() %}
|
|
|
|
{% set destination = property.python_name %}
|
|
|
|
{% import "property_templates/" + property.template as prop_template %}
|
|
|
|
{% if prop_template.transform %}
|
|
|
|
{% set destination = "json_" + property.python_name %}
|
|
|
|
{{ prop_template.transform(property, property.python_name, destination) }}
|
|
|
|
{% endif %}
|
|
|
|
{%- if not property.json_is_dict %}
|
|
|
|
params["{{ property.name }}"] = {{ destination }}
|
|
|
|
{% else %}
|
|
|
|
{{ guarded_statement(property, destination, "params.update(" + destination + ")") }}
|
|
|
|
{% endif %}
|
|
|
|
|
|
|
|
|
|
|
|
{% endfor %}
|
|
|
|
|
|
|
|
params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
|
|
|
|
{% endif %}
|
|
|
|
{% endmacro %}
|
|
|
|
|
|
|
|
{% macro json_body(endpoint) %}
|
|
|
|
{% if endpoint.json_body %}
|
|
|
|
{% set property = endpoint.json_body %}
|
|
|
|
{% set destination = "json_" + property.python_name %}
|
|
|
|
{% import "property_templates/" + property.template as prop_template %}
|
|
|
|
{% if prop_template.transform %}
|
|
|
|
{{ prop_template.transform(property, property.python_name, destination) }}
|
|
|
|
{% else %}
|
|
|
|
{{ destination }} = {{ property.python_name }}
|
|
|
|
{% endif %}
|
|
|
|
{% endif %}
|
|
|
|
{% endmacro %}
|
|
|
|
|
|
|
|
{% macro multipart_body(endpoint) %}
|
|
|
|
{% if endpoint.multipart_body %}
|
|
|
|
{% set property = endpoint.multipart_body %}
|
|
|
|
{% set destination = "multipart_" + property.python_name %}
|
|
|
|
{% import "property_templates/" + property.template as prop_template %}
|
|
|
|
{% if prop_template.transform_multipart %}
|
|
|
|
{{ prop_template.transform_multipart(property, property.python_name, destination) }}
|
|
|
|
{% endif %}
|
|
|
|
{% endif %}
|
|
|
|
{% endmacro %}
|
|
|
|
|
|
|
|
{# The all the kwargs passed into an endpoint (and variants thereof)) #}
|
|
|
|
{% macro arguments(endpoint) %}
|
|
|
|
{# path parameters #}
|
|
|
|
{% for parameter in endpoint.path_parameters.values() %}
|
|
|
|
{{ parameter.to_string() }},
|
|
|
|
{% endfor %}
|
|
|
|
*,
|
2023-01-13 18:21:38 +00:00
|
|
|
{# Proper client based on whether or not the endpoint requires authentication #}
|
2022-02-19 09:22:21 +00:00
|
|
|
{% if endpoint.requires_security %}
|
|
|
|
_client: AuthenticatedClient,
|
|
|
|
{% else %}
|
|
|
|
_client: Client,
|
|
|
|
{% endif %}
|
|
|
|
{# Form data if any #}
|
2023-01-13 18:21:38 +00:00
|
|
|
{% if endpoint.form_body %}
|
|
|
|
form_data: {{ endpoint.form_body.get_type_string() }},
|
2022-02-19 09:22:21 +00:00
|
|
|
{% endif %}
|
|
|
|
{# Multipart data if any #}
|
|
|
|
{% if endpoint.multipart_body %}
|
|
|
|
multipart_data: {{ endpoint.multipart_body.get_type_string() }},
|
|
|
|
{% endif %}
|
|
|
|
{# JSON body if any #}
|
|
|
|
{% if endpoint.json_body %}
|
|
|
|
json_body: {{ endpoint.json_body.get_type_string() }},
|
|
|
|
{% endif %}
|
|
|
|
{# query parameters #}
|
|
|
|
{% for parameter in endpoint.query_parameters.values() %}
|
|
|
|
{{ parameter.to_string() }},
|
|
|
|
{% endfor %}
|
|
|
|
{% for parameter in endpoint.header_parameters.values() %}
|
|
|
|
{{ parameter.to_string() }},
|
|
|
|
{% endfor %}
|
|
|
|
{# cookie parameters #}
|
|
|
|
{% for parameter in endpoint.cookie_parameters.values() %}
|
|
|
|
{{ parameter.to_string() }},
|
|
|
|
{% endfor %}
|
|
|
|
{% endmacro %}
|
|
|
|
|
|
|
|
{# Just lists all kwargs to endpoints as name=name for passing to other functions #}
|
|
|
|
{% macro kwargs(endpoint) %}
|
|
|
|
{% for parameter in endpoint.path_parameters.values() %}
|
|
|
|
{{ parameter.python_name }}={{ parameter.python_name }},
|
|
|
|
{% endfor %}
|
|
|
|
_client=_client,
|
2023-01-13 18:21:38 +00:00
|
|
|
{% if endpoint.form_body %}
|
2022-02-19 09:22:21 +00:00
|
|
|
form_data=form_data,
|
|
|
|
{% endif %}
|
|
|
|
{% if endpoint.multipart_body %}
|
|
|
|
multipart_data=multipart_data,
|
|
|
|
{% endif %}
|
|
|
|
{% if endpoint.json_body %}
|
|
|
|
json_body=json_body,
|
|
|
|
{% endif %}
|
|
|
|
{% for parameter in endpoint.query_parameters.values() %}
|
|
|
|
{{ parameter.python_name }}={{ parameter.python_name }},
|
|
|
|
{% endfor %}
|
|
|
|
{% for parameter in endpoint.header_parameters.values() %}
|
|
|
|
{{ parameter.python_name }}={{ parameter.python_name }},
|
|
|
|
{% endfor %}
|
|
|
|
{% for parameter in endpoint.cookie_parameters.values() %}
|
|
|
|
{{ parameter.python_name }}={{ parameter.python_name }},
|
|
|
|
{% endfor %}
|
|
|
|
{% endmacro %}
|
|
|
|
|
|
|
|
{% macro docstring(endpoint, return_string) %}
|
|
|
|
"""{% if endpoint.summary %}{{ endpoint.summary | wordwrap(100)}}
|
|
|
|
|
|
|
|
{% endif -%}
|
|
|
|
{%- if endpoint.description %} {{ endpoint.description | wordwrap(100) }}
|
|
|
|
|
|
|
|
{% endif %}
|
|
|
|
{% if not endpoint.summary and not endpoint.description %}
|
|
|
|
{# Leave extra space so that Args or Returns isn't at the top #}
|
|
|
|
|
|
|
|
{% endif %}
|
|
|
|
{% set all_parameters = endpoint.list_all_parameters() %}
|
|
|
|
{% if all_parameters %}
|
|
|
|
Args:
|
|
|
|
{% for parameter in all_parameters %}
|
|
|
|
{{ parameter.to_docstring() | wordwrap(90) | indent(8) }}
|
|
|
|
{% endfor %}
|
|
|
|
|
|
|
|
{% endif %}
|
2023-01-13 18:21:38 +00:00
|
|
|
Raises:
|
|
|
|
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
|
|
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
|
|
|
2022-02-19 09:22:21 +00:00
|
|
|
Returns:
|
|
|
|
Response[{{ return_string }}]
|
|
|
|
"""
|
|
|
|
{% endmacro %}
|