3 Commits

Author SHA1 Message Date
6d4b848568 Updated specs to API version 0.4 2023-06-22 14:46:58 +02:00
d643fde917 Updated to PhotosAPI v3.0 2023-06-22 14:38:42 +02:00
19b6cb7496 Added generator config 2023-06-22 14:37:49 +02:00
29 changed files with 132 additions and 96 deletions

2
config.yaml Normal file
View File

@@ -0,0 +1,2 @@
project_name_override: PhotosAPI_Client
package_name_override: photosapi_client

View File

@@ -34,6 +34,7 @@ def _get_kwargs(
"headers": headers, "headers": headers,
"cookies": cookies, "cookies": cookies,
"timeout": client.get_timeout(), "timeout": client.get_timeout(),
"follow_redirects": client.follow_redirects,
"params": params, "params": params,
} }
@@ -54,7 +55,7 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni
return response_422 return response_422
if client.raise_on_unexpected_status: if client.raise_on_unexpected_status:
raise errors.UnexpectedStatus(f"Unexpected status code: {response.status_code}") raise errors.UnexpectedStatus(response.status_code, response.content)
else: else:
return None return None
@@ -123,7 +124,7 @@ def sync(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Album, Any, HTTPValidationError]] Union[Album, Any, HTTPValidationError]
""" """
return sync_detailed( return sync_detailed(
@@ -186,7 +187,7 @@ async def asyncio(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Album, Any, HTTPValidationError]] Union[Album, Any, HTTPValidationError]
""" """
return ( return (

View File

@@ -25,6 +25,7 @@ def _get_kwargs(
"headers": headers, "headers": headers,
"cookies": cookies, "cookies": cookies,
"timeout": client.get_timeout(), "timeout": client.get_timeout(),
"follow_redirects": client.follow_redirects,
} }
@@ -40,7 +41,7 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni
return response_422 return response_422
if client.raise_on_unexpected_status: if client.raise_on_unexpected_status:
raise errors.UnexpectedStatus(f"Unexpected status code: {response.status_code}") raise errors.UnexpectedStatus(response.status_code, response.content)
else: else:
return None return None
@@ -104,7 +105,7 @@ def sync(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError]] Union[Any, HTTPValidationError]
""" """
return sync_detailed( return sync_detailed(
@@ -161,7 +162,7 @@ async def asyncio(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError]] Union[Any, HTTPValidationError]
""" """
return ( return (

View File

@@ -31,6 +31,7 @@ def _get_kwargs(
"headers": headers, "headers": headers,
"cookies": cookies, "cookies": cookies,
"timeout": client.get_timeout(), "timeout": client.get_timeout(),
"follow_redirects": client.follow_redirects,
"params": params, "params": params,
} }
@@ -47,7 +48,7 @@ def _parse_response(
return response_422 return response_422
if client.raise_on_unexpected_status: if client.raise_on_unexpected_status:
raise errors.UnexpectedStatus(f"Unexpected status code: {response.status_code}") raise errors.UnexpectedStatus(response.status_code, response.content)
else: else:
return None return None
@@ -113,7 +114,7 @@ def sync(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[HTTPValidationError, SearchResultsAlbum]] Union[HTTPValidationError, SearchResultsAlbum]
""" """
return sync_detailed( return sync_detailed(
@@ -170,7 +171,7 @@ async def asyncio(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[HTTPValidationError, SearchResultsAlbum]] Union[HTTPValidationError, SearchResultsAlbum]
""" """
return ( return (

View File

@@ -38,6 +38,7 @@ def _get_kwargs(
"headers": headers, "headers": headers,
"cookies": cookies, "cookies": cookies,
"timeout": client.get_timeout(), "timeout": client.get_timeout(),
"follow_redirects": client.follow_redirects,
"params": params, "params": params,
} }
@@ -60,7 +61,7 @@ def _parse_response(
return response_422 return response_422
if client.raise_on_unexpected_status: if client.raise_on_unexpected_status:
raise errors.UnexpectedStatus(f"Unexpected status code: {response.status_code}") raise errors.UnexpectedStatus(response.status_code, response.content)
else: else:
return None return None
@@ -141,7 +142,7 @@ def sync(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[AlbumModified, Any, HTTPValidationError]] Union[AlbumModified, Any, HTTPValidationError]
""" """
return sync_detailed( return sync_detailed(
@@ -216,7 +217,7 @@ async def asyncio(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[AlbumModified, Any, HTTPValidationError]] Union[AlbumModified, Any, HTTPValidationError]
""" """
return ( return (

View File

@@ -38,6 +38,7 @@ def _get_kwargs(
"headers": headers, "headers": headers,
"cookies": cookies, "cookies": cookies,
"timeout": client.get_timeout(), "timeout": client.get_timeout(),
"follow_redirects": client.follow_redirects,
"params": params, "params": params,
} }
@@ -60,7 +61,7 @@ def _parse_response(
return response_422 return response_422
if client.raise_on_unexpected_status: if client.raise_on_unexpected_status:
raise errors.UnexpectedStatus(f"Unexpected status code: {response.status_code}") raise errors.UnexpectedStatus(response.status_code, response.content)
else: else:
return None return None
@@ -141,7 +142,7 @@ def sync(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[AlbumModified, Any, HTTPValidationError]] Union[AlbumModified, Any, HTTPValidationError]
""" """
return sync_detailed( return sync_detailed(
@@ -216,7 +217,7 @@ async def asyncio(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[AlbumModified, Any, HTTPValidationError]] Union[AlbumModified, Any, HTTPValidationError]
""" """
return ( return (

View File

@@ -27,6 +27,7 @@ def _get_kwargs(
"headers": headers, "headers": headers,
"cookies": cookies, "cookies": cookies,
"timeout": client.get_timeout(), "timeout": client.get_timeout(),
"follow_redirects": client.follow_redirects,
"data": form_data.to_dict(), "data": form_data.to_dict(),
} }
@@ -44,7 +45,7 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni
return response_422 return response_422
if client.raise_on_unexpected_status: if client.raise_on_unexpected_status:
raise errors.UnexpectedStatus(f"Unexpected status code: {response.status_code}") raise errors.UnexpectedStatus(response.status_code, response.content)
else: else:
return None return None
@@ -98,7 +99,7 @@ def sync(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError, Token]] Union[Any, HTTPValidationError, Token]
""" """
return sync_detailed( return sync_detailed(
@@ -145,7 +146,7 @@ async def asyncio(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError, Token]] Union[Any, HTTPValidationError, Token]
""" """
return ( return (

View File

@@ -25,6 +25,7 @@ def _get_kwargs(
"headers": headers, "headers": headers,
"cookies": cookies, "cookies": cookies,
"timeout": client.get_timeout(), "timeout": client.get_timeout(),
"follow_redirects": client.follow_redirects,
} }
@@ -40,7 +41,7 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni
return response_422 return response_422
if client.raise_on_unexpected_status: if client.raise_on_unexpected_status:
raise errors.UnexpectedStatus(f"Unexpected status code: {response.status_code}") raise errors.UnexpectedStatus(response.status_code, response.content)
else: else:
return None return None
@@ -104,7 +105,7 @@ def sync(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError]] Union[Any, HTTPValidationError]
""" """
return sync_detailed( return sync_detailed(
@@ -161,7 +162,7 @@ async def asyncio(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError]] Union[Any, HTTPValidationError]
""" """
return ( return (

View File

@@ -52,6 +52,7 @@ def _get_kwargs(
"headers": headers, "headers": headers,
"cookies": cookies, "cookies": cookies,
"timeout": client.get_timeout(), "timeout": client.get_timeout(),
"follow_redirects": client.follow_redirects,
"params": params, "params": params,
} }
@@ -74,7 +75,7 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni
response_422 = cast(Any, None) response_422 = cast(Any, None)
return response_422 return response_422
if client.raise_on_unexpected_status: if client.raise_on_unexpected_status:
raise errors.UnexpectedStatus(f"Unexpected status code: {response.status_code}") raise errors.UnexpectedStatus(response.status_code, response.content)
else: else:
return None return None
@@ -178,7 +179,7 @@ def sync(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, SearchResultsPhoto]] Union[Any, SearchResultsPhoto]
""" """
return sync_detailed( return sync_detailed(
@@ -283,7 +284,7 @@ async def asyncio(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, SearchResultsPhoto]] Union[Any, SearchResultsPhoto]
""" """
return ( return (

View File

@@ -1,4 +1,5 @@
from http import HTTPStatus from http import HTTPStatus
from io import BytesIO
from typing import Any, Dict, Optional, Union, cast from typing import Any, Dict, Optional, Union, cast
import httpx import httpx
@@ -6,7 +7,7 @@ import httpx
from ... import errors from ... import errors
from ...client import AuthenticatedClient, Client from ...client import AuthenticatedClient, Client
from ...models.http_validation_error import HTTPValidationError from ...models.http_validation_error import HTTPValidationError
from ...types import Response from ...types import File, Response
def _get_kwargs( def _get_kwargs(
@@ -25,12 +26,14 @@ def _get_kwargs(
"headers": headers, "headers": headers,
"cookies": cookies, "cookies": cookies,
"timeout": client.get_timeout(), "timeout": client.get_timeout(),
"follow_redirects": client.follow_redirects,
} }
def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Union[Any, HTTPValidationError]]: def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Union[Any, File, HTTPValidationError]]:
if response.status_code == HTTPStatus.OK: if response.status_code == HTTPStatus.OK:
response_200 = cast(Any, response.json()) response_200 = File(payload=BytesIO(response.content))
return response_200 return response_200
if response.status_code == HTTPStatus.NOT_FOUND: if response.status_code == HTTPStatus.NOT_FOUND:
response_404 = cast(Any, None) response_404 = cast(Any, None)
@@ -40,12 +43,12 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni
return response_422 return response_422
if client.raise_on_unexpected_status: if client.raise_on_unexpected_status:
raise errors.UnexpectedStatus(f"Unexpected status code: {response.status_code}") raise errors.UnexpectedStatus(response.status_code, response.content)
else: else:
return None return None
def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[Any, HTTPValidationError]]: def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[Any, File, HTTPValidationError]]:
return Response( return Response(
status_code=HTTPStatus(response.status_code), status_code=HTTPStatus(response.status_code),
content=response.content, content=response.content,
@@ -58,7 +61,7 @@ def sync_detailed(
id: str, id: str,
*, *,
client: AuthenticatedClient, client: AuthenticatedClient,
) -> Response[Union[Any, HTTPValidationError]]: ) -> Response[Union[Any, File, HTTPValidationError]]:
"""Photo Get """Photo Get
Get a photo by id Get a photo by id
@@ -71,7 +74,7 @@ def sync_detailed(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError]] Response[Union[Any, File, HTTPValidationError]]
""" """
kwargs = _get_kwargs( kwargs = _get_kwargs(
@@ -91,7 +94,7 @@ def sync(
id: str, id: str,
*, *,
client: AuthenticatedClient, client: AuthenticatedClient,
) -> Optional[Union[Any, HTTPValidationError]]: ) -> Optional[Union[Any, File, HTTPValidationError]]:
"""Photo Get """Photo Get
Get a photo by id Get a photo by id
@@ -104,7 +107,7 @@ def sync(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError]] Union[Any, File, HTTPValidationError]
""" """
return sync_detailed( return sync_detailed(
@@ -117,7 +120,7 @@ async def asyncio_detailed(
id: str, id: str,
*, *,
client: AuthenticatedClient, client: AuthenticatedClient,
) -> Response[Union[Any, HTTPValidationError]]: ) -> Response[Union[Any, File, HTTPValidationError]]:
"""Photo Get """Photo Get
Get a photo by id Get a photo by id
@@ -130,7 +133,7 @@ async def asyncio_detailed(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError]] Response[Union[Any, File, HTTPValidationError]]
""" """
kwargs = _get_kwargs( kwargs = _get_kwargs(
@@ -148,7 +151,7 @@ async def asyncio(
id: str, id: str,
*, *,
client: AuthenticatedClient, client: AuthenticatedClient,
) -> Optional[Union[Any, HTTPValidationError]]: ) -> Optional[Union[Any, File, HTTPValidationError]]:
"""Photo Get """Photo Get
Get a photo by id Get a photo by id
@@ -161,7 +164,7 @@ async def asyncio(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError]] Union[Any, File, HTTPValidationError]
""" """
return ( return (

View File

@@ -31,6 +31,7 @@ def _get_kwargs(
"headers": headers, "headers": headers,
"cookies": cookies, "cookies": cookies,
"timeout": client.get_timeout(), "timeout": client.get_timeout(),
"follow_redirects": client.follow_redirects,
"params": params, "params": params,
} }
@@ -50,7 +51,7 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni
return response_422 return response_422
if client.raise_on_unexpected_status: if client.raise_on_unexpected_status:
raise errors.UnexpectedStatus(f"Unexpected status code: {response.status_code}") raise errors.UnexpectedStatus(response.status_code, response.content)
else: else:
return None return None
@@ -119,7 +120,7 @@ def sync(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError]] Union[Any, HTTPValidationError]
""" """
return sync_detailed( return sync_detailed(
@@ -182,7 +183,7 @@ async def asyncio(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError]] Union[Any, HTTPValidationError]
""" """
return ( return (

View File

@@ -32,6 +32,7 @@ def _get_kwargs(
"headers": headers, "headers": headers,
"cookies": cookies, "cookies": cookies,
"timeout": client.get_timeout(), "timeout": client.get_timeout(),
"follow_redirects": client.follow_redirects,
"params": params, "params": params,
} }
@@ -51,7 +52,7 @@ def _parse_response(
return response_422 return response_422
if client.raise_on_unexpected_status: if client.raise_on_unexpected_status:
raise errors.UnexpectedStatus(f"Unexpected status code: {response.status_code}") raise errors.UnexpectedStatus(response.status_code, response.content)
else: else:
return None return None
@@ -122,7 +123,7 @@ def sync(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError, PhotoPublic]] Union[Any, HTTPValidationError, PhotoPublic]
""" """
return sync_detailed( return sync_detailed(
@@ -185,7 +186,7 @@ async def asyncio(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError, PhotoPublic]] Union[Any, HTTPValidationError, PhotoPublic]
""" """
return ( return (

View File

@@ -32,6 +32,7 @@ def _get_kwargs(
"headers": headers, "headers": headers,
"cookies": cookies, "cookies": cookies,
"timeout": client.get_timeout(), "timeout": client.get_timeout(),
"follow_redirects": client.follow_redirects,
"params": params, "params": params,
} }
@@ -51,7 +52,7 @@ def _parse_response(
return response_422 return response_422
if client.raise_on_unexpected_status: if client.raise_on_unexpected_status:
raise errors.UnexpectedStatus(f"Unexpected status code: {response.status_code}") raise errors.UnexpectedStatus(response.status_code, response.content)
else: else:
return None return None
@@ -122,7 +123,7 @@ def sync(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError, PhotoPublic]] Union[Any, HTTPValidationError, PhotoPublic]
""" """
return sync_detailed( return sync_detailed(
@@ -185,7 +186,7 @@ async def asyncio(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError, PhotoPublic]] Union[Any, HTTPValidationError, PhotoPublic]
""" """
return ( return (

View File

@@ -42,6 +42,7 @@ def _get_kwargs(
"headers": headers, "headers": headers,
"cookies": cookies, "cookies": cookies,
"timeout": client.get_timeout(), "timeout": client.get_timeout(),
"follow_redirects": client.follow_redirects,
"files": multipart_multipart_data, "files": multipart_multipart_data,
"params": params, "params": params,
} }
@@ -63,7 +64,7 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni
return response_422 return response_422
if client.raise_on_unexpected_status: if client.raise_on_unexpected_status:
raise errors.UnexpectedStatus(f"Unexpected status code: {response.status_code}") raise errors.UnexpectedStatus(response.status_code, response.content)
else: else:
return None return None
@@ -147,7 +148,7 @@ def sync(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError, Photo]] Union[Any, HTTPValidationError, Photo]
""" """
return sync_detailed( return sync_detailed(
@@ -228,7 +229,7 @@ async def asyncio(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError, Photo]] Union[Any, HTTPValidationError, Photo]
""" """
return ( return (

View File

@@ -31,6 +31,7 @@ def _get_kwargs(
"headers": headers, "headers": headers,
"cookies": cookies, "cookies": cookies,
"timeout": client.get_timeout(), "timeout": client.get_timeout(),
"follow_redirects": client.follow_redirects,
"params": params, "params": params,
} }
@@ -47,7 +48,7 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni
return response_422 return response_422
if client.raise_on_unexpected_status: if client.raise_on_unexpected_status:
raise errors.UnexpectedStatus(f"Unexpected status code: {response.status_code}") raise errors.UnexpectedStatus(response.status_code, response.content)
else: else:
return None return None
@@ -112,7 +113,7 @@ def sync(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError]] Union[Any, HTTPValidationError]
""" """
return sync_detailed( return sync_detailed(
@@ -171,7 +172,7 @@ async def asyncio(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError]] Union[Any, HTTPValidationError]
""" """
return ( return (

View File

@@ -31,6 +31,7 @@ def _get_kwargs(
"headers": headers, "headers": headers,
"cookies": cookies, "cookies": cookies,
"timeout": client.get_timeout(), "timeout": client.get_timeout(),
"follow_redirects": client.follow_redirects,
"params": params, "params": params,
} }
@@ -47,7 +48,7 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni
return response_422 return response_422
if client.raise_on_unexpected_status: if client.raise_on_unexpected_status:
raise errors.UnexpectedStatus(f"Unexpected status code: {response.status_code}") raise errors.UnexpectedStatus(response.status_code, response.content)
else: else:
return None return None
@@ -112,7 +113,7 @@ def sync(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError]] Union[Any, HTTPValidationError]
""" """
return sync_detailed( return sync_detailed(
@@ -171,7 +172,7 @@ async def asyncio(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError]] Union[Any, HTTPValidationError]
""" """
return ( return (

View File

@@ -26,6 +26,7 @@ def _get_kwargs(
"headers": headers, "headers": headers,
"cookies": cookies, "cookies": cookies,
"timeout": client.get_timeout(), "timeout": client.get_timeout(),
"follow_redirects": client.follow_redirects,
"data": form_data.to_dict(), "data": form_data.to_dict(),
} }
@@ -42,7 +43,7 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni
return response_422 return response_422
if client.raise_on_unexpected_status: if client.raise_on_unexpected_status:
raise errors.UnexpectedStatus(f"Unexpected status code: {response.status_code}") raise errors.UnexpectedStatus(response.status_code, response.content)
else: else:
return None return None
@@ -96,7 +97,7 @@ def sync(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError]] Union[Any, HTTPValidationError]
""" """
return sync_detailed( return sync_detailed(
@@ -143,7 +144,7 @@ async def asyncio(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError]] Union[Any, HTTPValidationError]
""" """
return ( return (

View File

@@ -26,6 +26,7 @@ def _get_kwargs(
"headers": headers, "headers": headers,
"cookies": cookies, "cookies": cookies,
"timeout": client.get_timeout(), "timeout": client.get_timeout(),
"follow_redirects": client.follow_redirects,
"data": form_data.to_dict(), "data": form_data.to_dict(),
} }
@@ -42,7 +43,7 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni
return response_422 return response_422
if client.raise_on_unexpected_status: if client.raise_on_unexpected_status:
raise errors.UnexpectedStatus(f"Unexpected status code: {response.status_code}") raise errors.UnexpectedStatus(response.status_code, response.content)
else: else:
return None return None
@@ -96,7 +97,7 @@ def sync(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError]] Union[Any, HTTPValidationError]
""" """
return sync_detailed( return sync_detailed(
@@ -143,7 +144,7 @@ async def asyncio(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError]] Union[Any, HTTPValidationError]
""" """
return ( return (

View File

@@ -24,6 +24,7 @@ def _get_kwargs(
"headers": headers, "headers": headers,
"cookies": cookies, "cookies": cookies,
"timeout": client.get_timeout(), "timeout": client.get_timeout(),
"follow_redirects": client.follow_redirects,
} }
@@ -33,7 +34,7 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Use
return response_200 return response_200
if client.raise_on_unexpected_status: if client.raise_on_unexpected_status:
raise errors.UnexpectedStatus(f"Unexpected status code: {response.status_code}") raise errors.UnexpectedStatus(response.status_code, response.content)
else: else:
return None return None
@@ -84,7 +85,7 @@ def sync(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[User] User
""" """
return sync_detailed( return sync_detailed(
@@ -127,7 +128,7 @@ async def asyncio(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[User] User
""" """
return ( return (

View File

@@ -25,6 +25,7 @@ def _get_kwargs(
"headers": headers, "headers": headers,
"cookies": cookies, "cookies": cookies,
"timeout": client.get_timeout(), "timeout": client.get_timeout(),
"follow_redirects": client.follow_redirects,
} }
@@ -40,7 +41,7 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni
return response_422 return response_422
if client.raise_on_unexpected_status: if client.raise_on_unexpected_status:
raise errors.UnexpectedStatus(f"Unexpected status code: {response.status_code}") raise errors.UnexpectedStatus(response.status_code, response.content)
else: else:
return None return None
@@ -104,7 +105,7 @@ def sync(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError]] Union[Any, HTTPValidationError]
""" """
return sync_detailed( return sync_detailed(
@@ -161,7 +162,7 @@ async def asyncio(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError]] Union[Any, HTTPValidationError]
""" """
return ( return (

View File

@@ -43,6 +43,7 @@ def _get_kwargs(
"headers": headers, "headers": headers,
"cookies": cookies, "cookies": cookies,
"timeout": client.get_timeout(), "timeout": client.get_timeout(),
"follow_redirects": client.follow_redirects,
"params": params, "params": params,
} }
@@ -65,7 +66,7 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni
response_422 = cast(Any, None) response_422 = cast(Any, None)
return response_422 return response_422
if client.raise_on_unexpected_status: if client.raise_on_unexpected_status:
raise errors.UnexpectedStatus(f"Unexpected status code: {response.status_code}") raise errors.UnexpectedStatus(response.status_code, response.content)
else: else:
return None return None
@@ -154,7 +155,7 @@ def sync(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, SearchResultsVideo]] Union[Any, SearchResultsVideo]
""" """
return sync_detailed( return sync_detailed(
@@ -241,7 +242,7 @@ async def asyncio(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, SearchResultsVideo]] Union[Any, SearchResultsVideo]
""" """
return ( return (

View File

@@ -1,4 +1,5 @@
from http import HTTPStatus from http import HTTPStatus
from io import BytesIO
from typing import Any, Dict, Optional, Union, cast from typing import Any, Dict, Optional, Union, cast
import httpx import httpx
@@ -6,7 +7,7 @@ import httpx
from ... import errors from ... import errors
from ...client import AuthenticatedClient, Client from ...client import AuthenticatedClient, Client
from ...models.http_validation_error import HTTPValidationError from ...models.http_validation_error import HTTPValidationError
from ...types import Response from ...types import File, Response
def _get_kwargs( def _get_kwargs(
@@ -25,12 +26,14 @@ def _get_kwargs(
"headers": headers, "headers": headers,
"cookies": cookies, "cookies": cookies,
"timeout": client.get_timeout(), "timeout": client.get_timeout(),
"follow_redirects": client.follow_redirects,
} }
def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Union[Any, HTTPValidationError]]: def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Union[Any, File, HTTPValidationError]]:
if response.status_code == HTTPStatus.OK: if response.status_code == HTTPStatus.OK:
response_200 = cast(Any, response.json()) response_200 = File(payload=BytesIO(response.content))
return response_200 return response_200
if response.status_code == HTTPStatus.NOT_FOUND: if response.status_code == HTTPStatus.NOT_FOUND:
response_404 = cast(Any, None) response_404 = cast(Any, None)
@@ -40,12 +43,12 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni
return response_422 return response_422
if client.raise_on_unexpected_status: if client.raise_on_unexpected_status:
raise errors.UnexpectedStatus(f"Unexpected status code: {response.status_code}") raise errors.UnexpectedStatus(response.status_code, response.content)
else: else:
return None return None
def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[Any, HTTPValidationError]]: def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[Any, File, HTTPValidationError]]:
return Response( return Response(
status_code=HTTPStatus(response.status_code), status_code=HTTPStatus(response.status_code),
content=response.content, content=response.content,
@@ -58,7 +61,7 @@ def sync_detailed(
id: str, id: str,
*, *,
client: AuthenticatedClient, client: AuthenticatedClient,
) -> Response[Union[Any, HTTPValidationError]]: ) -> Response[Union[Any, File, HTTPValidationError]]:
"""Video Get """Video Get
Get a video by id Get a video by id
@@ -71,7 +74,7 @@ def sync_detailed(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError]] Response[Union[Any, File, HTTPValidationError]]
""" """
kwargs = _get_kwargs( kwargs = _get_kwargs(
@@ -91,7 +94,7 @@ def sync(
id: str, id: str,
*, *,
client: AuthenticatedClient, client: AuthenticatedClient,
) -> Optional[Union[Any, HTTPValidationError]]: ) -> Optional[Union[Any, File, HTTPValidationError]]:
"""Video Get """Video Get
Get a video by id Get a video by id
@@ -104,7 +107,7 @@ def sync(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError]] Union[Any, File, HTTPValidationError]
""" """
return sync_detailed( return sync_detailed(
@@ -117,7 +120,7 @@ async def asyncio_detailed(
id: str, id: str,
*, *,
client: AuthenticatedClient, client: AuthenticatedClient,
) -> Response[Union[Any, HTTPValidationError]]: ) -> Response[Union[Any, File, HTTPValidationError]]:
"""Video Get """Video Get
Get a video by id Get a video by id
@@ -130,7 +133,7 @@ async def asyncio_detailed(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError]] Response[Union[Any, File, HTTPValidationError]]
""" """
kwargs = _get_kwargs( kwargs = _get_kwargs(
@@ -148,7 +151,7 @@ async def asyncio(
id: str, id: str,
*, *,
client: AuthenticatedClient, client: AuthenticatedClient,
) -> Optional[Union[Any, HTTPValidationError]]: ) -> Optional[Union[Any, File, HTTPValidationError]]:
"""Video Get """Video Get
Get a video by id Get a video by id
@@ -161,7 +164,7 @@ async def asyncio(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError]] Union[Any, File, HTTPValidationError]
""" """
return ( return (

View File

@@ -32,6 +32,7 @@ def _get_kwargs(
"headers": headers, "headers": headers,
"cookies": cookies, "cookies": cookies,
"timeout": client.get_timeout(), "timeout": client.get_timeout(),
"follow_redirects": client.follow_redirects,
"params": params, "params": params,
} }
@@ -51,7 +52,7 @@ def _parse_response(
return response_422 return response_422
if client.raise_on_unexpected_status: if client.raise_on_unexpected_status:
raise errors.UnexpectedStatus(f"Unexpected status code: {response.status_code}") raise errors.UnexpectedStatus(response.status_code, response.content)
else: else:
return None return None
@@ -122,7 +123,7 @@ def sync(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError, VideoPublic]] Union[Any, HTTPValidationError, VideoPublic]
""" """
return sync_detailed( return sync_detailed(
@@ -185,7 +186,7 @@ async def asyncio(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError, VideoPublic]] Union[Any, HTTPValidationError, VideoPublic]
""" """
return ( return (

View File

@@ -32,6 +32,7 @@ def _get_kwargs(
"headers": headers, "headers": headers,
"cookies": cookies, "cookies": cookies,
"timeout": client.get_timeout(), "timeout": client.get_timeout(),
"follow_redirects": client.follow_redirects,
"params": params, "params": params,
} }
@@ -51,7 +52,7 @@ def _parse_response(
return response_422 return response_422
if client.raise_on_unexpected_status: if client.raise_on_unexpected_status:
raise errors.UnexpectedStatus(f"Unexpected status code: {response.status_code}") raise errors.UnexpectedStatus(response.status_code, response.content)
else: else:
return None return None
@@ -122,7 +123,7 @@ def sync(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError, VideoPublic]] Union[Any, HTTPValidationError, VideoPublic]
""" """
return sync_detailed( return sync_detailed(
@@ -185,7 +186,7 @@ async def asyncio(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError, VideoPublic]] Union[Any, HTTPValidationError, VideoPublic]
""" """
return ( return (

View File

@@ -36,6 +36,7 @@ def _get_kwargs(
"headers": headers, "headers": headers,
"cookies": cookies, "cookies": cookies,
"timeout": client.get_timeout(), "timeout": client.get_timeout(),
"follow_redirects": client.follow_redirects,
"files": multipart_multipart_data, "files": multipart_multipart_data,
"params": params, "params": params,
} }
@@ -54,7 +55,7 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni
return response_422 return response_422
if client.raise_on_unexpected_status: if client.raise_on_unexpected_status:
raise errors.UnexpectedStatus(f"Unexpected status code: {response.status_code}") raise errors.UnexpectedStatus(response.status_code, response.content)
else: else:
return None return None
@@ -128,7 +129,7 @@ def sync(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError, Video]] Union[Any, HTTPValidationError, Video]
""" """
return sync_detailed( return sync_detailed(
@@ -197,7 +198,7 @@ async def asyncio(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, HTTPValidationError, Video]] Union[Any, HTTPValidationError, Video]
""" """
return ( return (

View File

@@ -18,6 +18,7 @@ class Client:
but can be set to False for testing purposes. but can be set to False for testing purposes.
raise_on_unexpected_status: Whether or not to raise an errors.UnexpectedStatus if the API returns a raise_on_unexpected_status: Whether or not to raise an errors.UnexpectedStatus if the API returns a
status code that was not documented in the source OpenAPI document. status code that was not documented in the source OpenAPI document.
follow_redirects: Whether or not to follow redirects. Default value is False.
""" """
base_url: str base_url: str
@@ -26,6 +27,7 @@ class Client:
timeout: float = attr.ib(5.0, kw_only=True) timeout: float = attr.ib(5.0, kw_only=True)
verify_ssl: Union[str, bool, ssl.SSLContext] = attr.ib(True, kw_only=True) verify_ssl: Union[str, bool, ssl.SSLContext] = attr.ib(True, kw_only=True)
raise_on_unexpected_status: bool = attr.ib(False, kw_only=True) raise_on_unexpected_status: bool = attr.ib(False, kw_only=True)
follow_redirects: bool = attr.ib(False, kw_only=True)
def get_headers(self) -> Dict[str, str]: def get_headers(self) -> Dict[str, str]:
"""Get headers to be used in all endpoints""" """Get headers to be used in all endpoints"""

View File

@@ -4,7 +4,11 @@
class UnexpectedStatus(Exception): class UnexpectedStatus(Exception):
"""Raised by api functions when the response status an undocumented status and Client.raise_on_unexpected_status is True""" """Raised by api functions when the response status an undocumented status and Client.raise_on_unexpected_status is True"""
... def __init__(self, status_code: int, content: bytes):
self.status_code = status_code
self.content = content
super().__init__(f"Unexpected status code: {status_code}")
__all__ = ["UnexpectedStatus"] __all__ = ["UnexpectedStatus"]

View File

@@ -1,12 +1,12 @@
""" Contains some shared types for properties """ """ Contains some shared types for properties """
from http import HTTPStatus from http import HTTPStatus
from typing import BinaryIO, Generic, MutableMapping, Optional, Tuple, TypeVar from typing import BinaryIO, Generic, Literal, MutableMapping, Optional, Tuple, TypeVar
import attr import attr
class Unset: class Unset:
def __bool__(self) -> bool: def __bool__(self) -> Literal[False]:
return False return False

View File

@@ -7,7 +7,7 @@ long_description = (here / "README.md").read_text(encoding="utf-8")
setup( setup(
name="PhotosAPI_Client", name="PhotosAPI_Client",
version="0.2.0", version="0.4.0",
description="A client library for accessing Photos API", description="A client library for accessing Photos API",
long_description=long_description, long_description=long_description,
long_description_content_type="text/markdown", long_description_content_type="text/markdown",