Merge pull request #25 from KittyCAD/kurt/24-update-codegen-to-handle-query-params
update generate.py to handle query params
This commit is contained in:
1
.github/workflows/generate.yml
vendored
1
.github/workflows/generate.yml
vendored
@ -7,6 +7,7 @@ on:
|
||||
- 'Makefile'
|
||||
- .github/workflows/generate.yml
|
||||
- 'spec.json'
|
||||
- 'generate/generate.py'
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
jobs:
|
||||
|
||||
1942
assets/testing.obj
Normal file
1942
assets/testing.obj
Normal file
File diff suppressed because it is too large
Load Diff
@ -231,7 +231,9 @@ response: Response[""" + success_type + """] = await """ + fn_name + """.asyncio
|
||||
f.write("\t*,\n")
|
||||
f.write("\tclient: Client,\n")
|
||||
f.write(") -> Dict[str, Any]:\n")
|
||||
f.write("\turl = \"{}" + name + "\".format(client.base_url")
|
||||
templateUrl = "{}" + name
|
||||
formatTemplate = ".format(client.base_url"
|
||||
queryTemplate = ""
|
||||
# Iterate over the parameters.
|
||||
if 'parameters' in endpoint:
|
||||
parameters = endpoint['parameters']
|
||||
@ -246,12 +248,20 @@ response: Response[""" + success_type + """] = await """ + fn_name + """.asyncio
|
||||
else:
|
||||
print(" parameter: ", parameter)
|
||||
raise Exception("Unknown parameter type")
|
||||
f.write(
|
||||
", " +
|
||||
parameter_name +
|
||||
"=" +
|
||||
camel_to_snake(parameter_name))
|
||||
f.write(")\n")
|
||||
if parameter['in'] == 'path':
|
||||
formatTemplate = formatTemplate + ", " + \
|
||||
parameter_name + "=" + camel_to_snake(parameter_name)
|
||||
elif parameter['in'] == 'query':
|
||||
formatTemplate = formatTemplate + ", " + \
|
||||
parameter_name + "=" + camel_to_snake(parameter_name)
|
||||
queryTemplate = queryTemplate + "&" + \
|
||||
camel_to_snake(parameter_name) + "=" + "{" + camel_to_snake(parameter_name) + "}"
|
||||
if queryTemplate[1:].__len__() > 0:
|
||||
f.write("\turl = \"" + templateUrl + "?" +
|
||||
queryTemplate[1:] + "\"" + formatTemplate + ")\n")
|
||||
else:
|
||||
f.write("\turl = \"" + templateUrl + "\"" + formatTemplate + ")\n")
|
||||
|
||||
f.write("\n")
|
||||
f.write("\theaders: Dict[str, Any] = client.get_headers()\n")
|
||||
f.write("\tcookies: Dict[str, Any] = client.get_cookies()\n")
|
||||
|
||||
@ -13,7 +13,7 @@ def _get_kwargs(
|
||||
*,
|
||||
client: Client,
|
||||
) -> Dict[str, Any]:
|
||||
url = "{}/api-call-metrics".format(client.base_url, group_by=group_by)
|
||||
url = "{}/api-call-metrics?group_by={group_by}".format(client.base_url, group_by=group_by)
|
||||
|
||||
headers: Dict[str, Any] = client.get_headers()
|
||||
cookies: Dict[str, Any] = client.get_cookies()
|
||||
|
||||
@ -15,7 +15,7 @@ def _get_kwargs(
|
||||
*,
|
||||
client: Client,
|
||||
) -> Dict[str, Any]:
|
||||
url = "{}/api-calls".format(client.base_url, limit=limit, page_token=page_token, sort_by=sort_by)
|
||||
url = "{}/api-calls?limit={limit}&page_token={page_token}&sort_by={sort_by}".format(client.base_url, limit=limit, page_token=page_token, sort_by=sort_by)
|
||||
|
||||
headers: Dict[str, Any] = client.get_headers()
|
||||
cookies: Dict[str, Any] = client.get_cookies()
|
||||
|
||||
@ -16,7 +16,7 @@ def _get_kwargs(
|
||||
*,
|
||||
client: Client,
|
||||
) -> Dict[str, Any]:
|
||||
url = "{}/users/{id}/api-calls".format(client.base_url, id=id, limit=limit, page_token=page_token, sort_by=sort_by)
|
||||
url = "{}/users/{id}/api-calls?limit={limit}&page_token={page_token}&sort_by={sort_by}".format(client.base_url, id=id, limit=limit, page_token=page_token, sort_by=sort_by)
|
||||
|
||||
headers: Dict[str, Any] = client.get_headers()
|
||||
cookies: Dict[str, Any] = client.get_cookies()
|
||||
|
||||
@ -15,7 +15,7 @@ def _get_kwargs(
|
||||
*,
|
||||
client: Client,
|
||||
) -> Dict[str, Any]:
|
||||
url = "{}/user/api-calls".format(client.base_url, limit=limit, page_token=page_token, sort_by=sort_by)
|
||||
url = "{}/user/api-calls?limit={limit}&page_token={page_token}&sort_by={sort_by}".format(client.base_url, limit=limit, page_token=page_token, sort_by=sort_by)
|
||||
|
||||
headers: Dict[str, Any] = client.get_headers()
|
||||
cookies: Dict[str, Any] = client.get_cookies()
|
||||
|
||||
@ -15,7 +15,7 @@ def _get_kwargs(
|
||||
*,
|
||||
client: Client,
|
||||
) -> Dict[str, Any]:
|
||||
url = "{}/user/api-tokens".format(client.base_url, limit=limit, page_token=page_token, sort_by=sort_by)
|
||||
url = "{}/user/api-tokens?limit={limit}&page_token={page_token}&sort_by={sort_by}".format(client.base_url, limit=limit, page_token=page_token, sort_by=sort_by)
|
||||
|
||||
headers: Dict[str, Any] = client.get_headers()
|
||||
cookies: Dict[str, Any] = client.get_cookies()
|
||||
|
||||
@ -15,7 +15,7 @@ def _get_kwargs(
|
||||
*,
|
||||
client: Client,
|
||||
) -> Dict[str, Any]:
|
||||
url = "{}/file/execute/{lang}".format(client.base_url, lang=lang, output=output)
|
||||
url = "{}/file/execute/{lang}?output={output}".format(client.base_url, lang=lang, output=output)
|
||||
|
||||
headers: Dict[str, Any] = client.get_headers()
|
||||
cookies: Dict[str, Any] = client.get_cookies()
|
||||
|
||||
@ -15,7 +15,7 @@ def _get_kwargs(
|
||||
*,
|
||||
client: Client,
|
||||
) -> Dict[str, Any]:
|
||||
url = "{}/file/mass".format(client.base_url, material_density=material_density, src_format=src_format)
|
||||
url = "{}/file/mass?material_density={material_density}&src_format={src_format}".format(client.base_url, material_density=material_density, src_format=src_format)
|
||||
|
||||
headers: Dict[str, Any] = client.get_headers()
|
||||
cookies: Dict[str, Any] = client.get_cookies()
|
||||
|
||||
@ -14,7 +14,7 @@ def _get_kwargs(
|
||||
*,
|
||||
client: Client,
|
||||
) -> Dict[str, Any]:
|
||||
url = "{}/file/volume".format(client.base_url, src_format=src_format)
|
||||
url = "{}/file/volume?src_format={src_format}".format(client.base_url, src_format=src_format)
|
||||
|
||||
headers: Dict[str, Any] = client.get_headers()
|
||||
cookies: Dict[str, Any] = client.get_cookies()
|
||||
|
||||
@ -15,7 +15,7 @@ def _get_kwargs(
|
||||
*,
|
||||
client: Client,
|
||||
) -> Dict[str, Any]:
|
||||
url = "{}/users".format(client.base_url, limit=limit, page_token=page_token, sort_by=sort_by)
|
||||
url = "{}/users?limit={limit}&page_token={page_token}&sort_by={sort_by}".format(client.base_url, limit=limit, page_token=page_token, sort_by=sort_by)
|
||||
|
||||
headers: Dict[str, Any] = client.get_headers()
|
||||
cookies: Dict[str, Any] = client.get_cookies()
|
||||
|
||||
@ -15,7 +15,7 @@ def _get_kwargs(
|
||||
*,
|
||||
client: Client,
|
||||
) -> Dict[str, Any]:
|
||||
url = "{}/users-extended".format(client.base_url, limit=limit, page_token=page_token, sort_by=sort_by)
|
||||
url = "{}/users-extended?limit={limit}&page_token={page_token}&sort_by={sort_by}".format(client.base_url, limit=limit, page_token=page_token, sort_by=sort_by)
|
||||
|
||||
headers: Dict[str, Any] = client.get_headers()
|
||||
cookies: Dict[str, Any] = client.get_cookies()
|
||||
|
||||
@ -3,8 +3,8 @@ import pytest
|
||||
import asyncio
|
||||
|
||||
from .client import ClientFromEnv
|
||||
from .models import FileConversion, FileOutputFormat, FileSourceFormat, User, Pong, APICallStatus
|
||||
from .api.file import create_file_conversion_with_base64_helper
|
||||
from .models import FileConversion, FileOutputFormat, FileSourceFormat, User, Pong, APICallStatus, FileMass, FileVolume
|
||||
from .api.file import create_file_conversion_with_base64_helper, create_file_mass, create_file_volume
|
||||
from .api.meta import ping
|
||||
from .api.users import get_user_self
|
||||
|
||||
@ -106,3 +106,54 @@ async def test_file_convert_stl_async():
|
||||
assert fc.id is not None
|
||||
|
||||
print(f"FileConversion: {fc}")
|
||||
|
||||
|
||||
def test_file_mass():
|
||||
# Create our client.
|
||||
client = ClientFromEnv()
|
||||
|
||||
dir_path = os.path.dirname(os.path.realpath(__file__))
|
||||
file = open(os.path.join(dir_path, "../assets/testing.obj"), "rb")
|
||||
content = file.read()
|
||||
file.close()
|
||||
|
||||
# Get the fc.
|
||||
fm: FileMass = create_file_mass.sync(
|
||||
client=client,
|
||||
body=content,
|
||||
src_format=FileSourceFormat.OBJ,
|
||||
material_density=1.0)
|
||||
|
||||
assert fm is not None
|
||||
|
||||
print(f"FileMass: {fm}")
|
||||
|
||||
assert fm.id is not None
|
||||
assert fm.mass is not None
|
||||
|
||||
assert fm.status == APICallStatus.COMPLETED
|
||||
|
||||
|
||||
def test_file_volume():
|
||||
# Create our client.
|
||||
client = ClientFromEnv()
|
||||
|
||||
dir_path = os.path.dirname(os.path.realpath(__file__))
|
||||
file = open(os.path.join(dir_path, "../assets/testing.obj"), "rb")
|
||||
content = file.read()
|
||||
file.close()
|
||||
|
||||
# Get the fc.
|
||||
fv: FileVolume = create_file_volume.sync(
|
||||
client=client,
|
||||
body=content,
|
||||
src_format=FileSourceFormat.OBJ)
|
||||
|
||||
assert fv is not None
|
||||
|
||||
print(f"FileVolume: {fv}")
|
||||
|
||||
assert fv.id is not None
|
||||
assert fv.volume is not None
|
||||
|
||||
assert fv.status == APICallStatus.COMPLETED
|
||||
|
||||
Reference in New Issue
Block a user