From 35aa61a83ae317c3880e82b764b5e93b8f5b9246 Mon Sep 17 00:00:00 2001 From: profitroll Date: Tue, 12 Mar 2024 12:57:10 +0100 Subject: [PATCH] Updated to PhotosAPI v0.6.0 --- .gitignore | 3 +- .vscode/tasks.json | 52 ++++ PhotosAPI_Client/.gitignore | 3 +- PhotosAPI_Client/README.md | 17 -- PhotosAPI_Client/photosapi_client/__init__.py | 1 + .../api/default/album_create_albums_post.py | 32 +- .../default/album_delete_album_id_delete.py | 34 +-- .../api/default/album_find_albums_get.py | 28 +- .../default/album_patch_albums_id_patch.py | 105 ++++--- .../api/default/album_put_albums_id_put.py | 30 +- .../login_for_access_token_token_post.py | 79 ++--- .../default/photo_delete_photos_id_delete.py | 34 +-- .../photo_find_albums_album_photos_get.py | 220 ++++++++------ .../api/default/photo_get_photos_id_get.py | 34 +-- .../photo_get_token_token_photo_token_get.py | 46 ++- .../api/default/photo_move_photos_id_put.py | 30 +- .../default/photo_patch_photos_id_patch.py | 30 +- ...o_random_albums_album_photos_random_get.py | 73 +++-- .../photo_upload_albums_album_photos_post.py | 133 +++++---- .../user_confirm_users_user_confirm_get.py | 46 ++- .../user_confirm_users_user_confirm_patch.py | 46 ++- .../api/default/user_create_users_post.py | 79 ++--- .../default/user_delete_users_me_delete.py | 69 +++-- .../api/default/user_me_users_me_get.py | 39 +-- .../default/video_delete_videos_id_delete.py | 34 +-- .../video_find_albums_album_videos_get.py | 145 ++++----- .../api/default/video_get_videos_id_get.py | 34 +-- .../api/default/video_move_videos_id_put.py | 30 +- .../default/video_patch_videos_id_patch.py | 30 +- ...o_random_albums_album_videos_random_get.py | 73 +++-- .../video_upload_albums_album_videos_post.py | 97 +++--- PhotosAPI_Client/photosapi_client/client.py | 282 +++++++++++++++--- PhotosAPI_Client/photosapi_client/errors.py | 4 +- .../photosapi_client/models/album.py | 9 +- .../photosapi_client/models/album_modified.py | 28 +- .../body_login_for_access_token_token_post.py | 71 ++++- ...y_photo_upload_albums_album_photos_post.py | 7 +- .../models/body_user_create_users_post.py | 9 +- .../body_user_delete_users_me_delete.py | 7 +- ...y_video_upload_albums_album_videos_post.py | 7 +- .../models/http_validation_error.py | 8 +- .../photosapi_client/models/photo.py | 10 +- .../photosapi_client/models/photo_public.py | 9 +- .../photosapi_client/models/photo_search.py | 28 +- .../models/random_search_results_photo.py | 8 +- .../models/random_search_results_video.py | 8 +- .../models/search_results_album.py | 27 +- .../models/search_results_photo.py | 27 +- .../models/search_results_video.py | 27 +- .../photosapi_client/models/token.py | 8 +- .../photosapi_client/models/user.py | 57 +++- .../models/validation_error.py | 10 +- .../photosapi_client/models/video.py | 10 +- .../photosapi_client/models/video_public.py | 9 +- .../photosapi_client/models/video_search.py | 28 +- PhotosAPI_Client/photosapi_client/types.py | 9 +- PhotosAPI_Client/setup.py | 2 +- requirements.txt | 5 + 58 files changed, 1377 insertions(+), 1043 deletions(-) create mode 100644 .vscode/tasks.json create mode 100644 requirements.txt diff --git a/.gitignore b/.gitignore index 2e603c7..94f5e23 100644 --- a/.gitignore +++ b/.gitignore @@ -21,4 +21,5 @@ dmypy.json /coverage.xml /.coverage -.vscode \ No newline at end of file +.vscode/* +!.vscode/tasks.json \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..ec8bf7d --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,52 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=733558 + // for the documentation about the tasks.json format + "version": "2.0.0", + "tasks": [ + { + "label": "Build", + "type": "shell", + "linux": { + "command": "./.venv/bin/python -m build ./PhotosAPI_Client" + }, + "windows": { + "command": ".\\.venv\\Scripts\\python -m build .\\PhotosAPI_Client" + }, + "problemMatcher": [], + "group": { + "kind": "build", + "isDefault": true + } + }, + { + "label": "Generate", + "type": "shell", + "linux": { + "command": "./.venv/bin/openapi-python-client generate --config ./config.yaml --url \"https://photos.end-play.xyz/openapi.json\"" + }, + "windows": { + "command": ".\\.venv\\Scripts\\openapi-python-client generate --config .\\config.yaml --url \"https://photos.end-play.xyz/openapi.json\"" + }, + "problemMatcher": [], + "group": { + "kind": "build", + "isDefault": true + } + }, + { + "label": "Update", + "type": "shell", + "linux": { + "command": "./.venv/bin/openapi-python-client update --config ./config.yaml --url \"https://photos.end-play.xyz/openapi.json\"" + }, + "windows": { + "command": ".\\.venv\\Scripts\\openapi-python-client update --config .\\config.yaml --url \"https://photos.end-play.xyz/openapi.json\"" + }, + "problemMatcher": [], + "group": { + "kind": "build", + "isDefault": true + } + } + ] +} \ No newline at end of file diff --git a/PhotosAPI_Client/.gitignore b/PhotosAPI_Client/.gitignore index 2e603c7..ed29cb9 100644 --- a/PhotosAPI_Client/.gitignore +++ b/PhotosAPI_Client/.gitignore @@ -20,5 +20,4 @@ dmypy.json .idea/ /coverage.xml -/.coverage -.vscode \ No newline at end of file +/.coverage \ No newline at end of file diff --git a/PhotosAPI_Client/README.md b/PhotosAPI_Client/README.md index 04a4e18..5bc1056 100644 --- a/PhotosAPI_Client/README.md +++ b/PhotosAPI_Client/README.md @@ -76,20 +76,3 @@ Things to know: 1. All path/query params, and bodies become method arguments. 1. If your endpoint had any tags on it, the first tag will be used as a module name for the function (my_tag above) 1. Any endpoint which did not have a tag will be in `photosapi_client.api.default` - -## Building / publishing this Client - -This project uses [Poetry](https://python-poetry.org/) to manage dependencies and packaging. Here are the basics: - -1. Update the metadata in pyproject.toml (e.g. authors, version) -1. If you're using a private repository, configure it with Poetry - 1. `poetry config repositories. ` - 1. `poetry config http-basic. ` -1. Publish the client with `poetry publish --build -r ` or, if for public PyPI, just `poetry publish --build` - -If you want to install this client into another project without publishing it (e.g. for development) then: - -1. If that project **is using Poetry**, you can simply do `poetry add ` from that project -1. If that project is not using Poetry: - 1. Build a wheel with `poetry build -f wheel` - 1. Install that wheel from the other project `pip install ` diff --git a/PhotosAPI_Client/photosapi_client/__init__.py b/PhotosAPI_Client/photosapi_client/__init__.py index ce554d1..99dfcc1 100644 --- a/PhotosAPI_Client/photosapi_client/__init__.py +++ b/PhotosAPI_Client/photosapi_client/__init__.py @@ -1,4 +1,5 @@ """ A client library for accessing END PLAY Photos """ + from .client import AuthenticatedClient, Client __all__ = ( diff --git a/PhotosAPI_Client/photosapi_client/api/default/album_create_albums_post.py b/PhotosAPI_Client/photosapi_client/api/default/album_create_albums_post.py index 39507a3..2d8ce2e 100644 --- a/PhotosAPI_Client/photosapi_client/api/default/album_create_albums_post.py +++ b/PhotosAPI_Client/photosapi_client/api/default/album_create_albums_post.py @@ -12,34 +12,30 @@ from ...types import UNSET, Response def _get_kwargs( *, - client: AuthenticatedClient, name: str, title: str, ) -> Dict[str, Any]: - url = "{}/albums".format(client.base_url) - - headers: Dict[str, str] = client.get_headers() - cookies: Dict[str, Any] = client.get_cookies() params: Dict[str, Any] = {} + params["name"] = name params["title"] = title params = {k: v for k, v in params.items() if v is not UNSET and v is not None} - return { + _kwargs: Dict[str, Any] = { "method": "post", - "url": url, - "headers": headers, - "cookies": cookies, - "timeout": client.get_timeout(), - "follow_redirects": client.follow_redirects, + "url": "/albums", "params": params, } + return _kwargs -def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Union[Album, Any, HTTPValidationError]]: + +def _parse_response( + *, client: Union[AuthenticatedClient, Client], response: httpx.Response +) -> Optional[Union[Album, Any, HTTPValidationError]]: if response.status_code == HTTPStatus.OK: response_200 = Album.from_dict(response.json()) @@ -60,7 +56,9 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni return None -def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[Album, Any, HTTPValidationError]]: +def _build_response( + *, client: Union[AuthenticatedClient, Client], response: httpx.Response +) -> Response[Union[Album, Any, HTTPValidationError]]: return Response( status_code=HTTPStatus(response.status_code), content=response.content, @@ -92,13 +90,11 @@ def sync_detailed( """ kwargs = _get_kwargs( - client=client, name=name, title=title, ) - response = httpx.request( - verify=client.verify_ssl, + response = client.get_httpx_client().request( **kwargs, ) @@ -157,13 +153,11 @@ async def asyncio_detailed( """ kwargs = _get_kwargs( - client=client, name=name, title=title, ) - async with httpx.AsyncClient(verify=client.verify_ssl) as _client: - response = await _client.request(**kwargs) + response = await client.get_async_httpx_client().request(**kwargs) return _build_response(client=client, response=response) diff --git a/PhotosAPI_Client/photosapi_client/api/default/album_delete_album_id_delete.py b/PhotosAPI_Client/photosapi_client/api/default/album_delete_album_id_delete.py index bac5cc4..220cd37 100644 --- a/PhotosAPI_Client/photosapi_client/api/default/album_delete_album_id_delete.py +++ b/PhotosAPI_Client/photosapi_client/api/default/album_delete_album_id_delete.py @@ -11,25 +11,21 @@ from ...types import Response def _get_kwargs( id: str, - *, - client: AuthenticatedClient, ) -> Dict[str, Any]: - url = "{}/album/{id}".format(client.base_url, id=id) - headers: Dict[str, str] = client.get_headers() - cookies: Dict[str, Any] = client.get_cookies() - - return { + _kwargs: Dict[str, Any] = { "method": "delete", - "url": url, - "headers": headers, - "cookies": cookies, - "timeout": client.get_timeout(), - "follow_redirects": client.follow_redirects, + "url": "/album/{id}".format( + id=id, + ), } + return _kwargs -def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Union[Any, HTTPValidationError]]: + +def _parse_response( + *, client: Union[AuthenticatedClient, Client], response: httpx.Response +) -> Optional[Union[Any, HTTPValidationError]]: if response.status_code == HTTPStatus.NO_CONTENT: response_204 = cast(Any, None) return response_204 @@ -46,7 +42,9 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni return None -def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[Any, HTTPValidationError]]: +def _build_response( + *, client: Union[AuthenticatedClient, Client], response: httpx.Response +) -> Response[Union[Any, HTTPValidationError]]: return Response( status_code=HTTPStatus(response.status_code), content=response.content, @@ -77,11 +75,9 @@ def sync_detailed( kwargs = _get_kwargs( id=id, - client=client, ) - response = httpx.request( - verify=client.verify_ssl, + response = client.get_httpx_client().request( **kwargs, ) @@ -136,11 +132,9 @@ async def asyncio_detailed( kwargs = _get_kwargs( id=id, - client=client, ) - async with httpx.AsyncClient(verify=client.verify_ssl) as _client: - response = await _client.request(**kwargs) + response = await client.get_async_httpx_client().request(**kwargs) return _build_response(client=client, response=response) diff --git a/PhotosAPI_Client/photosapi_client/api/default/album_find_albums_get.py b/PhotosAPI_Client/photosapi_client/api/default/album_find_albums_get.py index de55a69..e15203b 100644 --- a/PhotosAPI_Client/photosapi_client/api/default/album_find_albums_get.py +++ b/PhotosAPI_Client/photosapi_client/api/default/album_find_albums_get.py @@ -12,32 +12,26 @@ from ...types import UNSET, Response def _get_kwargs( *, - client: AuthenticatedClient, q: str, ) -> Dict[str, Any]: - url = "{}/albums".format(client.base_url) - - headers: Dict[str, str] = client.get_headers() - cookies: Dict[str, Any] = client.get_cookies() params: Dict[str, Any] = {} + params["q"] = q params = {k: v for k, v in params.items() if v is not UNSET and v is not None} - return { + _kwargs: Dict[str, Any] = { "method": "get", - "url": url, - "headers": headers, - "cookies": cookies, - "timeout": client.get_timeout(), - "follow_redirects": client.follow_redirects, + "url": "/albums", "params": params, } + return _kwargs + def _parse_response( - *, client: Client, response: httpx.Response + *, client: Union[AuthenticatedClient, Client], response: httpx.Response ) -> Optional[Union[HTTPValidationError, SearchResultsAlbum]]: if response.status_code == HTTPStatus.OK: response_200 = SearchResultsAlbum.from_dict(response.json()) @@ -54,7 +48,7 @@ def _parse_response( def _build_response( - *, client: Client, response: httpx.Response + *, client: Union[AuthenticatedClient, Client], response: httpx.Response ) -> Response[Union[HTTPValidationError, SearchResultsAlbum]]: return Response( status_code=HTTPStatus(response.status_code), @@ -85,12 +79,10 @@ def sync_detailed( """ kwargs = _get_kwargs( - client=client, q=q, ) - response = httpx.request( - verify=client.verify_ssl, + response = client.get_httpx_client().request( **kwargs, ) @@ -144,12 +136,10 @@ async def asyncio_detailed( """ kwargs = _get_kwargs( - client=client, q=q, ) - async with httpx.AsyncClient(verify=client.verify_ssl) as _client: - response = await _client.request(**kwargs) + response = await client.get_async_httpx_client().request(**kwargs) return _build_response(client=client, response=response) diff --git a/PhotosAPI_Client/photosapi_client/api/default/album_patch_albums_id_patch.py b/PhotosAPI_Client/photosapi_client/api/default/album_patch_albums_id_patch.py index 4591fb6..01a5cd5 100644 --- a/PhotosAPI_Client/photosapi_client/api/default/album_patch_albums_id_patch.py +++ b/PhotosAPI_Client/photosapi_client/api/default/album_patch_albums_id_patch.py @@ -13,38 +13,49 @@ from ...types import UNSET, Response, Unset def _get_kwargs( id: str, *, - client: AuthenticatedClient, - name: Union[Unset, None, str] = UNSET, - title: Union[Unset, None, str] = UNSET, - cover: Union[Unset, None, str] = UNSET, + name: Union[None, Unset, str] = UNSET, + title: Union[None, Unset, str] = UNSET, + cover: Union[None, Unset, str] = UNSET, ) -> Dict[str, Any]: - url = "{}/albums/{id}".format(client.base_url, id=id) - - headers: Dict[str, str] = client.get_headers() - cookies: Dict[str, Any] = client.get_cookies() params: Dict[str, Any] = {} - params["name"] = name - params["title"] = title + json_name: Union[None, Unset, str] + if isinstance(name, Unset): + json_name = UNSET + else: + json_name = name + params["name"] = json_name - params["cover"] = cover + json_title: Union[None, Unset, str] + if isinstance(title, Unset): + json_title = UNSET + else: + json_title = title + params["title"] = json_title + + json_cover: Union[None, Unset, str] + if isinstance(cover, Unset): + json_cover = UNSET + else: + json_cover = cover + params["cover"] = json_cover params = {k: v for k, v in params.items() if v is not UNSET and v is not None} - return { + _kwargs: Dict[str, Any] = { "method": "patch", - "url": url, - "headers": headers, - "cookies": cookies, - "timeout": client.get_timeout(), - "follow_redirects": client.follow_redirects, + "url": "/albums/{id}".format( + id=id, + ), "params": params, } + return _kwargs + def _parse_response( - *, client: Client, response: httpx.Response + *, client: Union[AuthenticatedClient, Client], response: httpx.Response ) -> Optional[Union[AlbumModified, Any, HTTPValidationError]]: if response.status_code == HTTPStatus.OK: response_200 = AlbumModified.from_dict(response.json()) @@ -67,7 +78,7 @@ def _parse_response( def _build_response( - *, client: Client, response: httpx.Response + *, client: Union[AuthenticatedClient, Client], response: httpx.Response ) -> Response[Union[AlbumModified, Any, HTTPValidationError]]: return Response( status_code=HTTPStatus(response.status_code), @@ -81,9 +92,9 @@ def sync_detailed( id: str, *, client: AuthenticatedClient, - name: Union[Unset, None, str] = UNSET, - title: Union[Unset, None, str] = UNSET, - cover: Union[Unset, None, str] = UNSET, + name: Union[None, Unset, str] = UNSET, + title: Union[None, Unset, str] = UNSET, + cover: Union[None, Unset, str] = UNSET, ) -> Response[Union[AlbumModified, Any, HTTPValidationError]]: """Album Patch @@ -91,9 +102,9 @@ def sync_detailed( Args: id (str): - name (Union[Unset, None, str]): - title (Union[Unset, None, str]): - cover (Union[Unset, None, str]): + name (Union[None, Unset, str]): + title (Union[None, Unset, str]): + cover (Union[None, Unset, str]): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -105,14 +116,12 @@ def sync_detailed( kwargs = _get_kwargs( id=id, - client=client, name=name, title=title, cover=cover, ) - response = httpx.request( - verify=client.verify_ssl, + response = client.get_httpx_client().request( **kwargs, ) @@ -123,9 +132,9 @@ def sync( id: str, *, client: AuthenticatedClient, - name: Union[Unset, None, str] = UNSET, - title: Union[Unset, None, str] = UNSET, - cover: Union[Unset, None, str] = UNSET, + name: Union[None, Unset, str] = UNSET, + title: Union[None, Unset, str] = UNSET, + cover: Union[None, Unset, str] = UNSET, ) -> Optional[Union[AlbumModified, Any, HTTPValidationError]]: """Album Patch @@ -133,9 +142,9 @@ def sync( Args: id (str): - name (Union[Unset, None, str]): - title (Union[Unset, None, str]): - cover (Union[Unset, None, str]): + name (Union[None, Unset, str]): + title (Union[None, Unset, str]): + cover (Union[None, Unset, str]): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -158,9 +167,9 @@ async def asyncio_detailed( id: str, *, client: AuthenticatedClient, - name: Union[Unset, None, str] = UNSET, - title: Union[Unset, None, str] = UNSET, - cover: Union[Unset, None, str] = UNSET, + name: Union[None, Unset, str] = UNSET, + title: Union[None, Unset, str] = UNSET, + cover: Union[None, Unset, str] = UNSET, ) -> Response[Union[AlbumModified, Any, HTTPValidationError]]: """Album Patch @@ -168,9 +177,9 @@ async def asyncio_detailed( Args: id (str): - name (Union[Unset, None, str]): - title (Union[Unset, None, str]): - cover (Union[Unset, None, str]): + name (Union[None, Unset, str]): + title (Union[None, Unset, str]): + cover (Union[None, Unset, str]): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -182,14 +191,12 @@ async def asyncio_detailed( kwargs = _get_kwargs( id=id, - client=client, name=name, title=title, cover=cover, ) - async with httpx.AsyncClient(verify=client.verify_ssl) as _client: - response = await _client.request(**kwargs) + response = await client.get_async_httpx_client().request(**kwargs) return _build_response(client=client, response=response) @@ -198,9 +205,9 @@ async def asyncio( id: str, *, client: AuthenticatedClient, - name: Union[Unset, None, str] = UNSET, - title: Union[Unset, None, str] = UNSET, - cover: Union[Unset, None, str] = UNSET, + name: Union[None, Unset, str] = UNSET, + title: Union[None, Unset, str] = UNSET, + cover: Union[None, Unset, str] = UNSET, ) -> Optional[Union[AlbumModified, Any, HTTPValidationError]]: """Album Patch @@ -208,9 +215,9 @@ async def asyncio( Args: id (str): - name (Union[Unset, None, str]): - title (Union[Unset, None, str]): - cover (Union[Unset, None, str]): + name (Union[None, Unset, str]): + title (Union[None, Unset, str]): + cover (Union[None, Unset, str]): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. diff --git a/PhotosAPI_Client/photosapi_client/api/default/album_put_albums_id_put.py b/PhotosAPI_Client/photosapi_client/api/default/album_put_albums_id_put.py index b40677f..e9088ed 100644 --- a/PhotosAPI_Client/photosapi_client/api/default/album_put_albums_id_put.py +++ b/PhotosAPI_Client/photosapi_client/api/default/album_put_albums_id_put.py @@ -13,17 +13,13 @@ from ...types import UNSET, Response def _get_kwargs( id: str, *, - client: AuthenticatedClient, name: str, title: str, cover: str, ) -> Dict[str, Any]: - url = "{}/albums/{id}".format(client.base_url, id=id) - - headers: Dict[str, str] = client.get_headers() - cookies: Dict[str, Any] = client.get_cookies() params: Dict[str, Any] = {} + params["name"] = name params["title"] = title @@ -32,19 +28,19 @@ def _get_kwargs( params = {k: v for k, v in params.items() if v is not UNSET and v is not None} - return { + _kwargs: Dict[str, Any] = { "method": "put", - "url": url, - "headers": headers, - "cookies": cookies, - "timeout": client.get_timeout(), - "follow_redirects": client.follow_redirects, + "url": "/albums/{id}".format( + id=id, + ), "params": params, } + return _kwargs + def _parse_response( - *, client: Client, response: httpx.Response + *, client: Union[AuthenticatedClient, Client], response: httpx.Response ) -> Optional[Union[AlbumModified, Any, HTTPValidationError]]: if response.status_code == HTTPStatus.OK: response_200 = AlbumModified.from_dict(response.json()) @@ -67,7 +63,7 @@ def _parse_response( def _build_response( - *, client: Client, response: httpx.Response + *, client: Union[AuthenticatedClient, Client], response: httpx.Response ) -> Response[Union[AlbumModified, Any, HTTPValidationError]]: return Response( status_code=HTTPStatus(response.status_code), @@ -105,14 +101,12 @@ def sync_detailed( kwargs = _get_kwargs( id=id, - client=client, name=name, title=title, cover=cover, ) - response = httpx.request( - verify=client.verify_ssl, + response = client.get_httpx_client().request( **kwargs, ) @@ -182,14 +176,12 @@ async def asyncio_detailed( kwargs = _get_kwargs( id=id, - client=client, name=name, title=title, cover=cover, ) - async with httpx.AsyncClient(verify=client.verify_ssl) as _client: - response = await _client.request(**kwargs) + response = await client.get_async_httpx_client().request(**kwargs) return _build_response(client=client, response=response) diff --git a/PhotosAPI_Client/photosapi_client/api/default/login_for_access_token_token_post.py b/PhotosAPI_Client/photosapi_client/api/default/login_for_access_token_token_post.py index 252b6ea..05473df 100644 --- a/PhotosAPI_Client/photosapi_client/api/default/login_for_access_token_token_post.py +++ b/PhotosAPI_Client/photosapi_client/api/default/login_for_access_token_token_post.py @@ -4,7 +4,7 @@ from typing import Any, Dict, Optional, Union, cast import httpx from ... import errors -from ...client import Client +from ...client import AuthenticatedClient, Client from ...models.body_login_for_access_token_token_post import BodyLoginForAccessTokenTokenPost from ...models.http_validation_error import HTTPValidationError from ...models.token import Token @@ -13,26 +13,27 @@ from ...types import Response def _get_kwargs( *, - client: Client, - form_data: BodyLoginForAccessTokenTokenPost, + body: BodyLoginForAccessTokenTokenPost, ) -> Dict[str, Any]: - url = "{}/token".format(client.base_url) + headers: Dict[str, Any] = {} - headers: Dict[str, str] = client.get_headers() - cookies: Dict[str, Any] = client.get_cookies() - - return { + _kwargs: Dict[str, Any] = { "method": "post", - "url": url, - "headers": headers, - "cookies": cookies, - "timeout": client.get_timeout(), - "follow_redirects": client.follow_redirects, - "data": form_data.to_dict(), + "url": "/token", } + _body = body.to_dict() -def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Union[Any, HTTPValidationError, Token]]: + _kwargs["data"] = _body + headers["Content-Type"] = "application/x-www-form-urlencoded" + + _kwargs["headers"] = headers + return _kwargs + + +def _parse_response( + *, client: Union[AuthenticatedClient, Client], response: httpx.Response +) -> Optional[Union[Any, HTTPValidationError, Token]]: if response.status_code == HTTPStatus.OK: response_200 = Token.from_dict(response.json()) @@ -50,7 +51,9 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni return None -def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[Any, HTTPValidationError, Token]]: +def _build_response( + *, client: Union[AuthenticatedClient, Client], response: httpx.Response +) -> Response[Union[Any, HTTPValidationError, Token]]: return Response( status_code=HTTPStatus(response.status_code), content=response.content, @@ -61,11 +64,14 @@ def _build_response(*, client: Client, response: httpx.Response) -> Response[Uni def sync_detailed( *, - client: Client, - form_data: BodyLoginForAccessTokenTokenPost, + client: Union[AuthenticatedClient, Client], + body: BodyLoginForAccessTokenTokenPost, ) -> Response[Union[Any, HTTPValidationError, Token]]: """Login For Access Token + Args: + body (BodyLoginForAccessTokenTokenPost): + 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. @@ -75,12 +81,10 @@ def sync_detailed( """ kwargs = _get_kwargs( - client=client, - form_data=form_data, + body=body, ) - response = httpx.request( - verify=client.verify_ssl, + response = client.get_httpx_client().request( **kwargs, ) @@ -89,11 +93,14 @@ def sync_detailed( def sync( *, - client: Client, - form_data: BodyLoginForAccessTokenTokenPost, + client: Union[AuthenticatedClient, Client], + body: BodyLoginForAccessTokenTokenPost, ) -> Optional[Union[Any, HTTPValidationError, Token]]: """Login For Access Token + Args: + body (BodyLoginForAccessTokenTokenPost): + 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. @@ -104,17 +111,20 @@ def sync( return sync_detailed( client=client, - form_data=form_data, + body=body, ).parsed async def asyncio_detailed( *, - client: Client, - form_data: BodyLoginForAccessTokenTokenPost, + client: Union[AuthenticatedClient, Client], + body: BodyLoginForAccessTokenTokenPost, ) -> Response[Union[Any, HTTPValidationError, Token]]: """Login For Access Token + Args: + body (BodyLoginForAccessTokenTokenPost): + 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. @@ -124,23 +134,24 @@ async def asyncio_detailed( """ kwargs = _get_kwargs( - client=client, - form_data=form_data, + body=body, ) - async with httpx.AsyncClient(verify=client.verify_ssl) as _client: - response = await _client.request(**kwargs) + response = await client.get_async_httpx_client().request(**kwargs) return _build_response(client=client, response=response) async def asyncio( *, - client: Client, - form_data: BodyLoginForAccessTokenTokenPost, + client: Union[AuthenticatedClient, Client], + body: BodyLoginForAccessTokenTokenPost, ) -> Optional[Union[Any, HTTPValidationError, Token]]: """Login For Access Token + Args: + body (BodyLoginForAccessTokenTokenPost): + 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. @@ -152,6 +163,6 @@ async def asyncio( return ( await asyncio_detailed( client=client, - form_data=form_data, + body=body, ) ).parsed diff --git a/PhotosAPI_Client/photosapi_client/api/default/photo_delete_photos_id_delete.py b/PhotosAPI_Client/photosapi_client/api/default/photo_delete_photos_id_delete.py index 949a660..e320373 100644 --- a/PhotosAPI_Client/photosapi_client/api/default/photo_delete_photos_id_delete.py +++ b/PhotosAPI_Client/photosapi_client/api/default/photo_delete_photos_id_delete.py @@ -11,25 +11,21 @@ from ...types import Response def _get_kwargs( id: str, - *, - client: AuthenticatedClient, ) -> Dict[str, Any]: - url = "{}/photos/{id}".format(client.base_url, id=id) - headers: Dict[str, str] = client.get_headers() - cookies: Dict[str, Any] = client.get_cookies() - - return { + _kwargs: Dict[str, Any] = { "method": "delete", - "url": url, - "headers": headers, - "cookies": cookies, - "timeout": client.get_timeout(), - "follow_redirects": client.follow_redirects, + "url": "/photos/{id}".format( + id=id, + ), } + return _kwargs -def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Union[Any, HTTPValidationError]]: + +def _parse_response( + *, client: Union[AuthenticatedClient, Client], response: httpx.Response +) -> Optional[Union[Any, HTTPValidationError]]: if response.status_code == HTTPStatus.NO_CONTENT: response_204 = cast(Any, None) return response_204 @@ -46,7 +42,9 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni return None -def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[Any, HTTPValidationError]]: +def _build_response( + *, client: Union[AuthenticatedClient, Client], response: httpx.Response +) -> Response[Union[Any, HTTPValidationError]]: return Response( status_code=HTTPStatus(response.status_code), content=response.content, @@ -77,11 +75,9 @@ def sync_detailed( kwargs = _get_kwargs( id=id, - client=client, ) - response = httpx.request( - verify=client.verify_ssl, + response = client.get_httpx_client().request( **kwargs, ) @@ -136,11 +132,9 @@ async def asyncio_detailed( kwargs = _get_kwargs( id=id, - client=client, ) - async with httpx.AsyncClient(verify=client.verify_ssl) as _client: - response = await _client.request(**kwargs) + response = await client.get_async_httpx_client().request(**kwargs) return _build_response(client=client, response=response) diff --git a/PhotosAPI_Client/photosapi_client/api/default/photo_find_albums_album_photos_get.py b/PhotosAPI_Client/photosapi_client/api/default/photo_find_albums_album_photos_get.py index e22c3c8..3f19ec2 100644 --- a/PhotosAPI_Client/photosapi_client/api/default/photo_find_albums_album_photos_get.py +++ b/PhotosAPI_Client/photosapi_client/api/default/photo_find_albums_album_photos_get.py @@ -12,52 +12,80 @@ from ...types import UNSET, Response, Unset def _get_kwargs( album: str, *, - client: AuthenticatedClient, - q: Union[Unset, None, str] = UNSET, - caption: Union[Unset, None, str] = UNSET, - token: Union[Unset, None, str] = UNSET, - page: Union[Unset, None, int] = 1, - page_size: Union[Unset, None, int] = 100, - lat: Union[Unset, None, float] = UNSET, - lng: Union[Unset, None, float] = UNSET, - radius: Union[Unset, None, int] = UNSET, + q: Union[None, Unset, str] = UNSET, + caption: Union[None, Unset, str] = UNSET, + token: Union[None, Unset, str] = UNSET, + page: Union[Unset, int] = 1, + page_size: Union[Unset, int] = 100, + lat: Union[None, Unset, float] = UNSET, + lng: Union[None, Unset, float] = UNSET, + radius: Union[None, Unset, int] = UNSET, ) -> Dict[str, Any]: - url = "{}/albums/{album}/photos".format(client.base_url, album=album) - - headers: Dict[str, str] = client.get_headers() - cookies: Dict[str, Any] = client.get_cookies() params: Dict[str, Any] = {} - params["q"] = q - params["caption"] = caption + json_q: Union[None, Unset, str] + if isinstance(q, Unset): + json_q = UNSET + else: + json_q = q + params["q"] = json_q - params["token"] = token + json_caption: Union[None, Unset, str] + if isinstance(caption, Unset): + json_caption = UNSET + else: + json_caption = caption + params["caption"] = json_caption + + json_token: Union[None, Unset, str] + if isinstance(token, Unset): + json_token = UNSET + else: + json_token = token + params["token"] = json_token params["page"] = page params["page_size"] = page_size - params["lat"] = lat + json_lat: Union[None, Unset, float] + if isinstance(lat, Unset): + json_lat = UNSET + else: + json_lat = lat + params["lat"] = json_lat - params["lng"] = lng + json_lng: Union[None, Unset, float] + if isinstance(lng, Unset): + json_lng = UNSET + else: + json_lng = lng + params["lng"] = json_lng - params["radius"] = radius + json_radius: Union[None, Unset, int] + if isinstance(radius, Unset): + json_radius = UNSET + else: + json_radius = radius + params["radius"] = json_radius params = {k: v for k, v in params.items() if v is not UNSET and v is not None} - return { + _kwargs: Dict[str, Any] = { "method": "get", - "url": url, - "headers": headers, - "cookies": cookies, - "timeout": client.get_timeout(), - "follow_redirects": client.follow_redirects, + "url": "/albums/{album}/photos".format( + album=album, + ), "params": params, } + return _kwargs -def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Union[Any, SearchResultsPhoto]]: + +def _parse_response( + *, client: Union[AuthenticatedClient, Client], response: httpx.Response +) -> Optional[Union[Any, SearchResultsPhoto]]: if response.status_code == HTTPStatus.OK: response_200 = SearchResultsPhoto.from_dict(response.json()) @@ -80,7 +108,9 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni return None -def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[Any, SearchResultsPhoto]]: +def _build_response( + *, client: Union[AuthenticatedClient, Client], response: httpx.Response +) -> Response[Union[Any, SearchResultsPhoto]]: return Response( status_code=HTTPStatus(response.status_code), content=response.content, @@ -93,14 +123,14 @@ def sync_detailed( album: str, *, client: AuthenticatedClient, - q: Union[Unset, None, str] = UNSET, - caption: Union[Unset, None, str] = UNSET, - token: Union[Unset, None, str] = UNSET, - page: Union[Unset, None, int] = 1, - page_size: Union[Unset, None, int] = 100, - lat: Union[Unset, None, float] = UNSET, - lng: Union[Unset, None, float] = UNSET, - radius: Union[Unset, None, int] = UNSET, + q: Union[None, Unset, str] = UNSET, + caption: Union[None, Unset, str] = UNSET, + token: Union[None, Unset, str] = UNSET, + page: Union[Unset, int] = 1, + page_size: Union[Unset, int] = 100, + lat: Union[None, Unset, float] = UNSET, + lng: Union[None, Unset, float] = UNSET, + radius: Union[None, Unset, int] = UNSET, ) -> Response[Union[Any, SearchResultsPhoto]]: """Photo Find @@ -108,14 +138,14 @@ def sync_detailed( Args: album (str): - q (Union[Unset, None, str]): - caption (Union[Unset, None, str]): - token (Union[Unset, None, str]): - page (Union[Unset, None, int]): Default: 1. - page_size (Union[Unset, None, int]): Default: 100. - lat (Union[Unset, None, float]): - lng (Union[Unset, None, float]): - radius (Union[Unset, None, int]): + q (Union[None, Unset, str]): + caption (Union[None, Unset, str]): + token (Union[None, Unset, str]): + page (Union[Unset, int]): Default: 1. + page_size (Union[Unset, int]): Default: 100. + lat (Union[None, Unset, float]): + lng (Union[None, Unset, float]): + radius (Union[None, Unset, int]): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -127,7 +157,6 @@ def sync_detailed( kwargs = _get_kwargs( album=album, - client=client, q=q, caption=caption, token=token, @@ -138,8 +167,7 @@ def sync_detailed( radius=radius, ) - response = httpx.request( - verify=client.verify_ssl, + response = client.get_httpx_client().request( **kwargs, ) @@ -150,14 +178,14 @@ def sync( album: str, *, client: AuthenticatedClient, - q: Union[Unset, None, str] = UNSET, - caption: Union[Unset, None, str] = UNSET, - token: Union[Unset, None, str] = UNSET, - page: Union[Unset, None, int] = 1, - page_size: Union[Unset, None, int] = 100, - lat: Union[Unset, None, float] = UNSET, - lng: Union[Unset, None, float] = UNSET, - radius: Union[Unset, None, int] = UNSET, + q: Union[None, Unset, str] = UNSET, + caption: Union[None, Unset, str] = UNSET, + token: Union[None, Unset, str] = UNSET, + page: Union[Unset, int] = 1, + page_size: Union[Unset, int] = 100, + lat: Union[None, Unset, float] = UNSET, + lng: Union[None, Unset, float] = UNSET, + radius: Union[None, Unset, int] = UNSET, ) -> Optional[Union[Any, SearchResultsPhoto]]: """Photo Find @@ -165,14 +193,14 @@ def sync( Args: album (str): - q (Union[Unset, None, str]): - caption (Union[Unset, None, str]): - token (Union[Unset, None, str]): - page (Union[Unset, None, int]): Default: 1. - page_size (Union[Unset, None, int]): Default: 100. - lat (Union[Unset, None, float]): - lng (Union[Unset, None, float]): - radius (Union[Unset, None, int]): + q (Union[None, Unset, str]): + caption (Union[None, Unset, str]): + token (Union[None, Unset, str]): + page (Union[Unset, int]): Default: 1. + page_size (Union[Unset, int]): Default: 100. + lat (Union[None, Unset, float]): + lng (Union[None, Unset, float]): + radius (Union[None, Unset, int]): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -200,14 +228,14 @@ async def asyncio_detailed( album: str, *, client: AuthenticatedClient, - q: Union[Unset, None, str] = UNSET, - caption: Union[Unset, None, str] = UNSET, - token: Union[Unset, None, str] = UNSET, - page: Union[Unset, None, int] = 1, - page_size: Union[Unset, None, int] = 100, - lat: Union[Unset, None, float] = UNSET, - lng: Union[Unset, None, float] = UNSET, - radius: Union[Unset, None, int] = UNSET, + q: Union[None, Unset, str] = UNSET, + caption: Union[None, Unset, str] = UNSET, + token: Union[None, Unset, str] = UNSET, + page: Union[Unset, int] = 1, + page_size: Union[Unset, int] = 100, + lat: Union[None, Unset, float] = UNSET, + lng: Union[None, Unset, float] = UNSET, + radius: Union[None, Unset, int] = UNSET, ) -> Response[Union[Any, SearchResultsPhoto]]: """Photo Find @@ -215,14 +243,14 @@ async def asyncio_detailed( Args: album (str): - q (Union[Unset, None, str]): - caption (Union[Unset, None, str]): - token (Union[Unset, None, str]): - page (Union[Unset, None, int]): Default: 1. - page_size (Union[Unset, None, int]): Default: 100. - lat (Union[Unset, None, float]): - lng (Union[Unset, None, float]): - radius (Union[Unset, None, int]): + q (Union[None, Unset, str]): + caption (Union[None, Unset, str]): + token (Union[None, Unset, str]): + page (Union[Unset, int]): Default: 1. + page_size (Union[Unset, int]): Default: 100. + lat (Union[None, Unset, float]): + lng (Union[None, Unset, float]): + radius (Union[None, Unset, int]): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -234,7 +262,6 @@ async def asyncio_detailed( kwargs = _get_kwargs( album=album, - client=client, q=q, caption=caption, token=token, @@ -245,8 +272,7 @@ async def asyncio_detailed( radius=radius, ) - async with httpx.AsyncClient(verify=client.verify_ssl) as _client: - response = await _client.request(**kwargs) + response = await client.get_async_httpx_client().request(**kwargs) return _build_response(client=client, response=response) @@ -255,14 +281,14 @@ async def asyncio( album: str, *, client: AuthenticatedClient, - q: Union[Unset, None, str] = UNSET, - caption: Union[Unset, None, str] = UNSET, - token: Union[Unset, None, str] = UNSET, - page: Union[Unset, None, int] = 1, - page_size: Union[Unset, None, int] = 100, - lat: Union[Unset, None, float] = UNSET, - lng: Union[Unset, None, float] = UNSET, - radius: Union[Unset, None, int] = UNSET, + q: Union[None, Unset, str] = UNSET, + caption: Union[None, Unset, str] = UNSET, + token: Union[None, Unset, str] = UNSET, + page: Union[Unset, int] = 1, + page_size: Union[Unset, int] = 100, + lat: Union[None, Unset, float] = UNSET, + lng: Union[None, Unset, float] = UNSET, + radius: Union[None, Unset, int] = UNSET, ) -> Optional[Union[Any, SearchResultsPhoto]]: """Photo Find @@ -270,14 +296,14 @@ async def asyncio( Args: album (str): - q (Union[Unset, None, str]): - caption (Union[Unset, None, str]): - token (Union[Unset, None, str]): - page (Union[Unset, None, int]): Default: 1. - page_size (Union[Unset, None, int]): Default: 100. - lat (Union[Unset, None, float]): - lng (Union[Unset, None, float]): - radius (Union[Unset, None, int]): + q (Union[None, Unset, str]): + caption (Union[None, Unset, str]): + token (Union[None, Unset, str]): + page (Union[Unset, int]): Default: 1. + page_size (Union[Unset, int]): Default: 100. + lat (Union[None, Unset, float]): + lng (Union[None, Unset, float]): + radius (Union[None, Unset, int]): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. diff --git a/PhotosAPI_Client/photosapi_client/api/default/photo_get_photos_id_get.py b/PhotosAPI_Client/photosapi_client/api/default/photo_get_photos_id_get.py index 98c3fa9..7b05f3f 100644 --- a/PhotosAPI_Client/photosapi_client/api/default/photo_get_photos_id_get.py +++ b/PhotosAPI_Client/photosapi_client/api/default/photo_get_photos_id_get.py @@ -12,25 +12,21 @@ from ...types import File, Response def _get_kwargs( id: str, - *, - client: AuthenticatedClient, ) -> Dict[str, Any]: - url = "{}/photos/{id}".format(client.base_url, id=id) - headers: Dict[str, str] = client.get_headers() - cookies: Dict[str, Any] = client.get_cookies() - - return { + _kwargs: Dict[str, Any] = { "method": "get", - "url": url, - "headers": headers, - "cookies": cookies, - "timeout": client.get_timeout(), - "follow_redirects": client.follow_redirects, + "url": "/photos/{id}".format( + id=id, + ), } + return _kwargs -def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Union[Any, File, HTTPValidationError]]: + +def _parse_response( + *, client: Union[AuthenticatedClient, Client], response: httpx.Response +) -> Optional[Union[Any, File, HTTPValidationError]]: if response.status_code == HTTPStatus.OK: response_200 = File(payload=BytesIO(response.content)) @@ -48,7 +44,9 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni return None -def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[Any, File, HTTPValidationError]]: +def _build_response( + *, client: Union[AuthenticatedClient, Client], response: httpx.Response +) -> Response[Union[Any, File, HTTPValidationError]]: return Response( status_code=HTTPStatus(response.status_code), content=response.content, @@ -79,11 +77,9 @@ def sync_detailed( kwargs = _get_kwargs( id=id, - client=client, ) - response = httpx.request( - verify=client.verify_ssl, + response = client.get_httpx_client().request( **kwargs, ) @@ -138,11 +134,9 @@ async def asyncio_detailed( kwargs = _get_kwargs( id=id, - client=client, ) - async with httpx.AsyncClient(verify=client.verify_ssl) as _client: - response = await _client.request(**kwargs) + response = await client.get_async_httpx_client().request(**kwargs) return _build_response(client=client, response=response) diff --git a/PhotosAPI_Client/photosapi_client/api/default/photo_get_token_token_photo_token_get.py b/PhotosAPI_Client/photosapi_client/api/default/photo_get_token_token_photo_token_get.py index d72f445..7872540 100644 --- a/PhotosAPI_Client/photosapi_client/api/default/photo_get_token_token_photo_token_get.py +++ b/PhotosAPI_Client/photosapi_client/api/default/photo_get_token_token_photo_token_get.py @@ -4,7 +4,7 @@ from typing import Any, Dict, Optional, Union, cast import httpx from ... import errors -from ...client import Client +from ...client import AuthenticatedClient, Client from ...models.http_validation_error import HTTPValidationError from ...types import UNSET, Response @@ -12,33 +12,31 @@ from ...types import UNSET, Response def _get_kwargs( token: str, *, - client: Client, id: int, ) -> Dict[str, Any]: - url = "{}/token/photo/{token}".format(client.base_url, token=token) - - headers: Dict[str, str] = client.get_headers() - cookies: Dict[str, Any] = client.get_cookies() params: Dict[str, Any] = {} + params["id"] = id params = {k: v for k, v in params.items() if v is not UNSET and v is not None} - return { + _kwargs: Dict[str, Any] = { "method": "get", - "url": url, - "headers": headers, - "cookies": cookies, - "timeout": client.get_timeout(), - "follow_redirects": client.follow_redirects, + "url": "/token/photo/{token}".format( + token=token, + ), "params": params, } + return _kwargs -def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Union[Any, HTTPValidationError]]: + +def _parse_response( + *, client: Union[AuthenticatedClient, Client], response: httpx.Response +) -> Optional[Union[Any, HTTPValidationError]]: if response.status_code == HTTPStatus.OK: - response_200 = cast(Any, response.json()) + response_200 = response.json() return response_200 if response.status_code == HTTPStatus.UNAUTHORIZED: response_401 = cast(Any, None) @@ -56,7 +54,9 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni return None -def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[Any, HTTPValidationError]]: +def _build_response( + *, client: Union[AuthenticatedClient, Client], response: httpx.Response +) -> Response[Union[Any, HTTPValidationError]]: return Response( status_code=HTTPStatus(response.status_code), content=response.content, @@ -68,7 +68,7 @@ def _build_response(*, client: Client, response: httpx.Response) -> Response[Uni def sync_detailed( token: str, *, - client: Client, + client: Union[AuthenticatedClient, Client], id: int, ) -> Response[Union[Any, HTTPValidationError]]: """Photo Get Token @@ -89,12 +89,10 @@ def sync_detailed( kwargs = _get_kwargs( token=token, - client=client, id=id, ) - response = httpx.request( - verify=client.verify_ssl, + response = client.get_httpx_client().request( **kwargs, ) @@ -104,7 +102,7 @@ def sync_detailed( def sync( token: str, *, - client: Client, + client: Union[AuthenticatedClient, Client], id: int, ) -> Optional[Union[Any, HTTPValidationError]]: """Photo Get Token @@ -133,7 +131,7 @@ def sync( async def asyncio_detailed( token: str, *, - client: Client, + client: Union[AuthenticatedClient, Client], id: int, ) -> Response[Union[Any, HTTPValidationError]]: """Photo Get Token @@ -154,12 +152,10 @@ async def asyncio_detailed( kwargs = _get_kwargs( token=token, - client=client, id=id, ) - async with httpx.AsyncClient(verify=client.verify_ssl) as _client: - response = await _client.request(**kwargs) + response = await client.get_async_httpx_client().request(**kwargs) return _build_response(client=client, response=response) @@ -167,7 +163,7 @@ async def asyncio_detailed( async def asyncio( token: str, *, - client: Client, + client: Union[AuthenticatedClient, Client], id: int, ) -> Optional[Union[Any, HTTPValidationError]]: """Photo Get Token diff --git a/PhotosAPI_Client/photosapi_client/api/default/photo_move_photos_id_put.py b/PhotosAPI_Client/photosapi_client/api/default/photo_move_photos_id_put.py index 7908115..1eb95f5 100644 --- a/PhotosAPI_Client/photosapi_client/api/default/photo_move_photos_id_put.py +++ b/PhotosAPI_Client/photosapi_client/api/default/photo_move_photos_id_put.py @@ -13,32 +13,28 @@ from ...types import UNSET, Response def _get_kwargs( id: str, *, - client: AuthenticatedClient, album: str, ) -> Dict[str, Any]: - url = "{}/photos/{id}".format(client.base_url, id=id) - - headers: Dict[str, str] = client.get_headers() - cookies: Dict[str, Any] = client.get_cookies() params: Dict[str, Any] = {} + params["album"] = album params = {k: v for k, v in params.items() if v is not UNSET and v is not None} - return { + _kwargs: Dict[str, Any] = { "method": "put", - "url": url, - "headers": headers, - "cookies": cookies, - "timeout": client.get_timeout(), - "follow_redirects": client.follow_redirects, + "url": "/photos/{id}".format( + id=id, + ), "params": params, } + return _kwargs + def _parse_response( - *, client: Client, response: httpx.Response + *, client: Union[AuthenticatedClient, Client], response: httpx.Response ) -> Optional[Union[Any, HTTPValidationError, PhotoPublic]]: if response.status_code == HTTPStatus.OK: response_200 = PhotoPublic.from_dict(response.json()) @@ -58,7 +54,7 @@ def _parse_response( def _build_response( - *, client: Client, response: httpx.Response + *, client: Union[AuthenticatedClient, Client], response: httpx.Response ) -> Response[Union[Any, HTTPValidationError, PhotoPublic]]: return Response( status_code=HTTPStatus(response.status_code), @@ -92,12 +88,10 @@ def sync_detailed( kwargs = _get_kwargs( id=id, - client=client, album=album, ) - response = httpx.request( - verify=client.verify_ssl, + response = client.get_httpx_client().request( **kwargs, ) @@ -157,12 +151,10 @@ async def asyncio_detailed( kwargs = _get_kwargs( id=id, - client=client, album=album, ) - async with httpx.AsyncClient(verify=client.verify_ssl) as _client: - response = await _client.request(**kwargs) + response = await client.get_async_httpx_client().request(**kwargs) return _build_response(client=client, response=response) diff --git a/PhotosAPI_Client/photosapi_client/api/default/photo_patch_photos_id_patch.py b/PhotosAPI_Client/photosapi_client/api/default/photo_patch_photos_id_patch.py index ee017b1..c94ee90 100644 --- a/PhotosAPI_Client/photosapi_client/api/default/photo_patch_photos_id_patch.py +++ b/PhotosAPI_Client/photosapi_client/api/default/photo_patch_photos_id_patch.py @@ -13,32 +13,28 @@ from ...types import UNSET, Response def _get_kwargs( id: str, *, - client: AuthenticatedClient, caption: str, ) -> Dict[str, Any]: - url = "{}/photos/{id}".format(client.base_url, id=id) - - headers: Dict[str, str] = client.get_headers() - cookies: Dict[str, Any] = client.get_cookies() params: Dict[str, Any] = {} + params["caption"] = caption params = {k: v for k, v in params.items() if v is not UNSET and v is not None} - return { + _kwargs: Dict[str, Any] = { "method": "patch", - "url": url, - "headers": headers, - "cookies": cookies, - "timeout": client.get_timeout(), - "follow_redirects": client.follow_redirects, + "url": "/photos/{id}".format( + id=id, + ), "params": params, } + return _kwargs + def _parse_response( - *, client: Client, response: httpx.Response + *, client: Union[AuthenticatedClient, Client], response: httpx.Response ) -> Optional[Union[Any, HTTPValidationError, PhotoPublic]]: if response.status_code == HTTPStatus.OK: response_200 = PhotoPublic.from_dict(response.json()) @@ -58,7 +54,7 @@ def _parse_response( def _build_response( - *, client: Client, response: httpx.Response + *, client: Union[AuthenticatedClient, Client], response: httpx.Response ) -> Response[Union[Any, HTTPValidationError, PhotoPublic]]: return Response( status_code=HTTPStatus(response.status_code), @@ -92,12 +88,10 @@ def sync_detailed( kwargs = _get_kwargs( id=id, - client=client, caption=caption, ) - response = httpx.request( - verify=client.verify_ssl, + response = client.get_httpx_client().request( **kwargs, ) @@ -157,12 +151,10 @@ async def asyncio_detailed( kwargs = _get_kwargs( id=id, - client=client, caption=caption, ) - async with httpx.AsyncClient(verify=client.verify_ssl) as _client: - response = await _client.request(**kwargs) + response = await client.get_async_httpx_client().request(**kwargs) return _build_response(client=client, response=response) diff --git a/PhotosAPI_Client/photosapi_client/api/default/photo_random_albums_album_photos_random_get.py b/PhotosAPI_Client/photosapi_client/api/default/photo_random_albums_album_photos_random_get.py index 3c45fbc..ea461dd 100644 --- a/PhotosAPI_Client/photosapi_client/api/default/photo_random_albums_album_photos_random_get.py +++ b/PhotosAPI_Client/photosapi_client/api/default/photo_random_albums_album_photos_random_get.py @@ -13,35 +13,36 @@ from ...types import UNSET, Response, Unset def _get_kwargs( album: str, *, - client: AuthenticatedClient, - caption: Union[Unset, None, str] = UNSET, - limit: Union[Unset, None, int] = 100, + caption: Union[None, Unset, str] = UNSET, + limit: Union[Unset, int] = 100, ) -> Dict[str, Any]: - url = "{}/albums/{album}/photos/random".format(client.base_url, album=album) - - headers: Dict[str, str] = client.get_headers() - cookies: Dict[str, Any] = client.get_cookies() params: Dict[str, Any] = {} - params["caption"] = caption + + json_caption: Union[None, Unset, str] + if isinstance(caption, Unset): + json_caption = UNSET + else: + json_caption = caption + params["caption"] = json_caption params["limit"] = limit params = {k: v for k, v in params.items() if v is not UNSET and v is not None} - return { + _kwargs: Dict[str, Any] = { "method": "get", - "url": url, - "headers": headers, - "cookies": cookies, - "timeout": client.get_timeout(), - "follow_redirects": client.follow_redirects, + "url": "/albums/{album}/photos/random".format( + album=album, + ), "params": params, } + return _kwargs + def _parse_response( - *, client: Client, response: httpx.Response + *, client: Union[AuthenticatedClient, Client], response: httpx.Response ) -> Optional[Union[Any, HTTPValidationError, RandomSearchResultsPhoto]]: if response.status_code == HTTPStatus.OK: response_200 = RandomSearchResultsPhoto.from_dict(response.json()) @@ -64,7 +65,7 @@ def _parse_response( def _build_response( - *, client: Client, response: httpx.Response + *, client: Union[AuthenticatedClient, Client], response: httpx.Response ) -> Response[Union[Any, HTTPValidationError, RandomSearchResultsPhoto]]: return Response( status_code=HTTPStatus(response.status_code), @@ -78,8 +79,8 @@ def sync_detailed( album: str, *, client: AuthenticatedClient, - caption: Union[Unset, None, str] = UNSET, - limit: Union[Unset, None, int] = 100, + caption: Union[None, Unset, str] = UNSET, + limit: Union[Unset, int] = 100, ) -> Response[Union[Any, HTTPValidationError, RandomSearchResultsPhoto]]: """Photo Random @@ -87,8 +88,8 @@ def sync_detailed( Args: album (str): - caption (Union[Unset, None, str]): - limit (Union[Unset, None, int]): Default: 100. + caption (Union[None, Unset, str]): + limit (Union[Unset, int]): Default: 100. Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -100,13 +101,11 @@ def sync_detailed( kwargs = _get_kwargs( album=album, - client=client, caption=caption, limit=limit, ) - response = httpx.request( - verify=client.verify_ssl, + response = client.get_httpx_client().request( **kwargs, ) @@ -117,8 +116,8 @@ def sync( album: str, *, client: AuthenticatedClient, - caption: Union[Unset, None, str] = UNSET, - limit: Union[Unset, None, int] = 100, + caption: Union[None, Unset, str] = UNSET, + limit: Union[Unset, int] = 100, ) -> Optional[Union[Any, HTTPValidationError, RandomSearchResultsPhoto]]: """Photo Random @@ -126,8 +125,8 @@ def sync( Args: album (str): - caption (Union[Unset, None, str]): - limit (Union[Unset, None, int]): Default: 100. + caption (Union[None, Unset, str]): + limit (Union[Unset, int]): Default: 100. Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -149,8 +148,8 @@ async def asyncio_detailed( album: str, *, client: AuthenticatedClient, - caption: Union[Unset, None, str] = UNSET, - limit: Union[Unset, None, int] = 100, + caption: Union[None, Unset, str] = UNSET, + limit: Union[Unset, int] = 100, ) -> Response[Union[Any, HTTPValidationError, RandomSearchResultsPhoto]]: """Photo Random @@ -158,8 +157,8 @@ async def asyncio_detailed( Args: album (str): - caption (Union[Unset, None, str]): - limit (Union[Unset, None, int]): Default: 100. + caption (Union[None, Unset, str]): + limit (Union[Unset, int]): Default: 100. Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -171,13 +170,11 @@ async def asyncio_detailed( kwargs = _get_kwargs( album=album, - client=client, caption=caption, limit=limit, ) - async with httpx.AsyncClient(verify=client.verify_ssl) as _client: - response = await _client.request(**kwargs) + response = await client.get_async_httpx_client().request(**kwargs) return _build_response(client=client, response=response) @@ -186,8 +183,8 @@ async def asyncio( album: str, *, client: AuthenticatedClient, - caption: Union[Unset, None, str] = UNSET, - limit: Union[Unset, None, int] = 100, + caption: Union[None, Unset, str] = UNSET, + limit: Union[Unset, int] = 100, ) -> Optional[Union[Any, HTTPValidationError, RandomSearchResultsPhoto]]: """Photo Random @@ -195,8 +192,8 @@ async def asyncio( Args: album (str): - caption (Union[Unset, None, str]): - limit (Union[Unset, None, int]): Default: 100. + caption (Union[None, Unset, str]): + limit (Union[Unset, int]): Default: 100. Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. diff --git a/PhotosAPI_Client/photosapi_client/api/default/photo_upload_albums_album_photos_post.py b/PhotosAPI_Client/photosapi_client/api/default/photo_upload_albums_album_photos_post.py index 1880208..ff7bddc 100644 --- a/PhotosAPI_Client/photosapi_client/api/default/photo_upload_albums_album_photos_post.py +++ b/PhotosAPI_Client/photosapi_client/api/default/photo_upload_albums_album_photos_post.py @@ -14,45 +14,54 @@ from ...types import UNSET, Response, Unset def _get_kwargs( album: str, *, - client: AuthenticatedClient, - multipart_data: BodyPhotoUploadAlbumsAlbumPhotosPost, - ignore_duplicates: Union[Unset, None, bool] = False, - compress: Union[Unset, None, bool] = True, - caption: Union[Unset, None, str] = UNSET, + body: BodyPhotoUploadAlbumsAlbumPhotosPost, + ignore_duplicates: Union[Unset, bool] = False, + compress: Union[Unset, bool] = True, + caption: Union[None, Unset, str] = UNSET, ) -> Dict[str, Any]: - url = "{}/albums/{album}/photos".format(client.base_url, album=album) - - headers: Dict[str, str] = client.get_headers() - cookies: Dict[str, Any] = client.get_cookies() + headers: Dict[str, Any] = {} params: Dict[str, Any] = {} + params["ignore_duplicates"] = ignore_duplicates params["compress"] = compress - params["caption"] = caption + json_caption: Union[None, Unset, str] + if isinstance(caption, Unset): + json_caption = UNSET + else: + json_caption = caption + params["caption"] = json_caption params = {k: v for k, v in params.items() if v is not UNSET and v is not None} - multipart_multipart_data = multipart_data.to_multipart() - - return { + _kwargs: Dict[str, Any] = { "method": "post", - "url": url, - "headers": headers, - "cookies": cookies, - "timeout": client.get_timeout(), - "follow_redirects": client.follow_redirects, - "files": multipart_multipart_data, + "url": "/albums/{album}/photos".format( + album=album, + ), "params": params, } + _body = body.to_multipart() -def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Union[Any, HTTPValidationError, Photo]]: + _kwargs["files"] = _body + + _kwargs["headers"] = headers + return _kwargs + + +def _parse_response( + *, client: Union[AuthenticatedClient, Client], response: httpx.Response +) -> Optional[Union[Any, HTTPValidationError, Photo]]: if response.status_code == HTTPStatus.OK: response_200 = Photo.from_dict(response.json()) return response_200 + if response.status_code == HTTPStatus.FORBIDDEN: + response_403 = cast(Any, None) + return response_403 if response.status_code == HTTPStatus.NOT_FOUND: response_404 = cast(Any, None) return response_404 @@ -69,7 +78,9 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni return None -def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[Any, HTTPValidationError, Photo]]: +def _build_response( + *, client: Union[AuthenticatedClient, Client], response: httpx.Response +) -> Response[Union[Any, HTTPValidationError, Photo]]: return Response( status_code=HTTPStatus(response.status_code), content=response.content, @@ -82,10 +93,10 @@ def sync_detailed( album: str, *, client: AuthenticatedClient, - multipart_data: BodyPhotoUploadAlbumsAlbumPhotosPost, - ignore_duplicates: Union[Unset, None, bool] = False, - compress: Union[Unset, None, bool] = True, - caption: Union[Unset, None, str] = UNSET, + body: BodyPhotoUploadAlbumsAlbumPhotosPost, + ignore_duplicates: Union[Unset, bool] = False, + compress: Union[Unset, bool] = True, + caption: Union[None, Unset, str] = UNSET, ) -> Response[Union[Any, HTTPValidationError, Photo]]: """Photo Upload @@ -93,10 +104,10 @@ def sync_detailed( Args: album (str): - ignore_duplicates (Union[Unset, None, bool]): - compress (Union[Unset, None, bool]): Default: True. - caption (Union[Unset, None, str]): - multipart_data (BodyPhotoUploadAlbumsAlbumPhotosPost): + ignore_duplicates (Union[Unset, bool]): Default: False. + compress (Union[Unset, bool]): Default: True. + caption (Union[None, Unset, str]): + body (BodyPhotoUploadAlbumsAlbumPhotosPost): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -108,15 +119,13 @@ def sync_detailed( kwargs = _get_kwargs( album=album, - client=client, - multipart_data=multipart_data, + body=body, ignore_duplicates=ignore_duplicates, compress=compress, caption=caption, ) - response = httpx.request( - verify=client.verify_ssl, + response = client.get_httpx_client().request( **kwargs, ) @@ -127,10 +136,10 @@ def sync( album: str, *, client: AuthenticatedClient, - multipart_data: BodyPhotoUploadAlbumsAlbumPhotosPost, - ignore_duplicates: Union[Unset, None, bool] = False, - compress: Union[Unset, None, bool] = True, - caption: Union[Unset, None, str] = UNSET, + body: BodyPhotoUploadAlbumsAlbumPhotosPost, + ignore_duplicates: Union[Unset, bool] = False, + compress: Union[Unset, bool] = True, + caption: Union[None, Unset, str] = UNSET, ) -> Optional[Union[Any, HTTPValidationError, Photo]]: """Photo Upload @@ -138,10 +147,10 @@ def sync( Args: album (str): - ignore_duplicates (Union[Unset, None, bool]): - compress (Union[Unset, None, bool]): Default: True. - caption (Union[Unset, None, str]): - multipart_data (BodyPhotoUploadAlbumsAlbumPhotosPost): + ignore_duplicates (Union[Unset, bool]): Default: False. + compress (Union[Unset, bool]): Default: True. + caption (Union[None, Unset, str]): + body (BodyPhotoUploadAlbumsAlbumPhotosPost): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -154,7 +163,7 @@ def sync( return sync_detailed( album=album, client=client, - multipart_data=multipart_data, + body=body, ignore_duplicates=ignore_duplicates, compress=compress, caption=caption, @@ -165,10 +174,10 @@ async def asyncio_detailed( album: str, *, client: AuthenticatedClient, - multipart_data: BodyPhotoUploadAlbumsAlbumPhotosPost, - ignore_duplicates: Union[Unset, None, bool] = False, - compress: Union[Unset, None, bool] = True, - caption: Union[Unset, None, str] = UNSET, + body: BodyPhotoUploadAlbumsAlbumPhotosPost, + ignore_duplicates: Union[Unset, bool] = False, + compress: Union[Unset, bool] = True, + caption: Union[None, Unset, str] = UNSET, ) -> Response[Union[Any, HTTPValidationError, Photo]]: """Photo Upload @@ -176,10 +185,10 @@ async def asyncio_detailed( Args: album (str): - ignore_duplicates (Union[Unset, None, bool]): - compress (Union[Unset, None, bool]): Default: True. - caption (Union[Unset, None, str]): - multipart_data (BodyPhotoUploadAlbumsAlbumPhotosPost): + ignore_duplicates (Union[Unset, bool]): Default: False. + compress (Union[Unset, bool]): Default: True. + caption (Union[None, Unset, str]): + body (BodyPhotoUploadAlbumsAlbumPhotosPost): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -191,15 +200,13 @@ async def asyncio_detailed( kwargs = _get_kwargs( album=album, - client=client, - multipart_data=multipart_data, + body=body, ignore_duplicates=ignore_duplicates, compress=compress, caption=caption, ) - async with httpx.AsyncClient(verify=client.verify_ssl) as _client: - response = await _client.request(**kwargs) + response = await client.get_async_httpx_client().request(**kwargs) return _build_response(client=client, response=response) @@ -208,10 +215,10 @@ async def asyncio( album: str, *, client: AuthenticatedClient, - multipart_data: BodyPhotoUploadAlbumsAlbumPhotosPost, - ignore_duplicates: Union[Unset, None, bool] = False, - compress: Union[Unset, None, bool] = True, - caption: Union[Unset, None, str] = UNSET, + body: BodyPhotoUploadAlbumsAlbumPhotosPost, + ignore_duplicates: Union[Unset, bool] = False, + compress: Union[Unset, bool] = True, + caption: Union[None, Unset, str] = UNSET, ) -> Optional[Union[Any, HTTPValidationError, Photo]]: """Photo Upload @@ -219,10 +226,10 @@ async def asyncio( Args: album (str): - ignore_duplicates (Union[Unset, None, bool]): - compress (Union[Unset, None, bool]): Default: True. - caption (Union[Unset, None, str]): - multipart_data (BodyPhotoUploadAlbumsAlbumPhotosPost): + ignore_duplicates (Union[Unset, bool]): Default: False. + compress (Union[Unset, bool]): Default: True. + caption (Union[None, Unset, str]): + body (BodyPhotoUploadAlbumsAlbumPhotosPost): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -236,7 +243,7 @@ async def asyncio( await asyncio_detailed( album=album, client=client, - multipart_data=multipart_data, + body=body, ignore_duplicates=ignore_duplicates, compress=compress, caption=caption, diff --git a/PhotosAPI_Client/photosapi_client/api/default/user_confirm_users_user_confirm_get.py b/PhotosAPI_Client/photosapi_client/api/default/user_confirm_users_user_confirm_get.py index 4eb10b8..27f6452 100644 --- a/PhotosAPI_Client/photosapi_client/api/default/user_confirm_users_user_confirm_get.py +++ b/PhotosAPI_Client/photosapi_client/api/default/user_confirm_users_user_confirm_get.py @@ -4,7 +4,7 @@ from typing import Any, Dict, Optional, Union, cast import httpx from ... import errors -from ...client import Client +from ...client import AuthenticatedClient, Client from ...models.http_validation_error import HTTPValidationError from ...types import UNSET, Response @@ -12,33 +12,31 @@ from ...types import UNSET, Response def _get_kwargs( user: str, *, - client: Client, code: str, ) -> Dict[str, Any]: - url = "{}/users/{user}/confirm".format(client.base_url, user=user) - - headers: Dict[str, str] = client.get_headers() - cookies: Dict[str, Any] = client.get_cookies() params: Dict[str, Any] = {} + params["code"] = code params = {k: v for k, v in params.items() if v is not UNSET and v is not None} - return { + _kwargs: Dict[str, Any] = { "method": "get", - "url": url, - "headers": headers, - "cookies": cookies, - "timeout": client.get_timeout(), - "follow_redirects": client.follow_redirects, + "url": "/users/{user}/confirm".format( + user=user, + ), "params": params, } + return _kwargs -def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Union[Any, HTTPValidationError]]: + +def _parse_response( + *, client: Union[AuthenticatedClient, Client], response: httpx.Response +) -> Optional[Union[Any, HTTPValidationError]]: if response.status_code == HTTPStatus.OK: - response_200 = cast(Any, response.json()) + response_200 = response.json() return response_200 if response.status_code == HTTPStatus.BAD_REQUEST: response_400 = cast(Any, None) @@ -53,7 +51,9 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni return None -def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[Any, HTTPValidationError]]: +def _build_response( + *, client: Union[AuthenticatedClient, Client], response: httpx.Response +) -> Response[Union[Any, HTTPValidationError]]: return Response( status_code=HTTPStatus(response.status_code), content=response.content, @@ -65,7 +65,7 @@ def _build_response(*, client: Client, response: httpx.Response) -> Response[Uni def sync_detailed( user: str, *, - client: Client, + client: Union[AuthenticatedClient, Client], code: str, ) -> Response[Union[Any, HTTPValidationError]]: """User Confirm @@ -84,12 +84,10 @@ def sync_detailed( kwargs = _get_kwargs( user=user, - client=client, code=code, ) - response = httpx.request( - verify=client.verify_ssl, + response = client.get_httpx_client().request( **kwargs, ) @@ -99,7 +97,7 @@ def sync_detailed( def sync( user: str, *, - client: Client, + client: Union[AuthenticatedClient, Client], code: str, ) -> Optional[Union[Any, HTTPValidationError]]: """User Confirm @@ -126,7 +124,7 @@ def sync( async def asyncio_detailed( user: str, *, - client: Client, + client: Union[AuthenticatedClient, Client], code: str, ) -> Response[Union[Any, HTTPValidationError]]: """User Confirm @@ -145,12 +143,10 @@ async def asyncio_detailed( kwargs = _get_kwargs( user=user, - client=client, code=code, ) - async with httpx.AsyncClient(verify=client.verify_ssl) as _client: - response = await _client.request(**kwargs) + response = await client.get_async_httpx_client().request(**kwargs) return _build_response(client=client, response=response) @@ -158,7 +154,7 @@ async def asyncio_detailed( async def asyncio( user: str, *, - client: Client, + client: Union[AuthenticatedClient, Client], code: str, ) -> Optional[Union[Any, HTTPValidationError]]: """User Confirm diff --git a/PhotosAPI_Client/photosapi_client/api/default/user_confirm_users_user_confirm_patch.py b/PhotosAPI_Client/photosapi_client/api/default/user_confirm_users_user_confirm_patch.py index 457aab0..2546e04 100644 --- a/PhotosAPI_Client/photosapi_client/api/default/user_confirm_users_user_confirm_patch.py +++ b/PhotosAPI_Client/photosapi_client/api/default/user_confirm_users_user_confirm_patch.py @@ -4,7 +4,7 @@ from typing import Any, Dict, Optional, Union, cast import httpx from ... import errors -from ...client import Client +from ...client import AuthenticatedClient, Client from ...models.http_validation_error import HTTPValidationError from ...types import UNSET, Response @@ -12,33 +12,31 @@ from ...types import UNSET, Response def _get_kwargs( user: str, *, - client: Client, code: str, ) -> Dict[str, Any]: - url = "{}/users/{user}/confirm".format(client.base_url, user=user) - - headers: Dict[str, str] = client.get_headers() - cookies: Dict[str, Any] = client.get_cookies() params: Dict[str, Any] = {} + params["code"] = code params = {k: v for k, v in params.items() if v is not UNSET and v is not None} - return { + _kwargs: Dict[str, Any] = { "method": "patch", - "url": url, - "headers": headers, - "cookies": cookies, - "timeout": client.get_timeout(), - "follow_redirects": client.follow_redirects, + "url": "/users/{user}/confirm".format( + user=user, + ), "params": params, } + return _kwargs -def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Union[Any, HTTPValidationError]]: + +def _parse_response( + *, client: Union[AuthenticatedClient, Client], response: httpx.Response +) -> Optional[Union[Any, HTTPValidationError]]: if response.status_code == HTTPStatus.OK: - response_200 = cast(Any, response.json()) + response_200 = response.json() return response_200 if response.status_code == HTTPStatus.BAD_REQUEST: response_400 = cast(Any, None) @@ -53,7 +51,9 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni return None -def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[Any, HTTPValidationError]]: +def _build_response( + *, client: Union[AuthenticatedClient, Client], response: httpx.Response +) -> Response[Union[Any, HTTPValidationError]]: return Response( status_code=HTTPStatus(response.status_code), content=response.content, @@ -65,7 +65,7 @@ def _build_response(*, client: Client, response: httpx.Response) -> Response[Uni def sync_detailed( user: str, *, - client: Client, + client: Union[AuthenticatedClient, Client], code: str, ) -> Response[Union[Any, HTTPValidationError]]: """User Confirm @@ -84,12 +84,10 @@ def sync_detailed( kwargs = _get_kwargs( user=user, - client=client, code=code, ) - response = httpx.request( - verify=client.verify_ssl, + response = client.get_httpx_client().request( **kwargs, ) @@ -99,7 +97,7 @@ def sync_detailed( def sync( user: str, *, - client: Client, + client: Union[AuthenticatedClient, Client], code: str, ) -> Optional[Union[Any, HTTPValidationError]]: """User Confirm @@ -126,7 +124,7 @@ def sync( async def asyncio_detailed( user: str, *, - client: Client, + client: Union[AuthenticatedClient, Client], code: str, ) -> Response[Union[Any, HTTPValidationError]]: """User Confirm @@ -145,12 +143,10 @@ async def asyncio_detailed( kwargs = _get_kwargs( user=user, - client=client, code=code, ) - async with httpx.AsyncClient(verify=client.verify_ssl) as _client: - response = await _client.request(**kwargs) + response = await client.get_async_httpx_client().request(**kwargs) return _build_response(client=client, response=response) @@ -158,7 +154,7 @@ async def asyncio_detailed( async def asyncio( user: str, *, - client: Client, + client: Union[AuthenticatedClient, Client], code: str, ) -> Optional[Union[Any, HTTPValidationError]]: """User Confirm diff --git a/PhotosAPI_Client/photosapi_client/api/default/user_create_users_post.py b/PhotosAPI_Client/photosapi_client/api/default/user_create_users_post.py index 6f001f5..34b391e 100644 --- a/PhotosAPI_Client/photosapi_client/api/default/user_create_users_post.py +++ b/PhotosAPI_Client/photosapi_client/api/default/user_create_users_post.py @@ -4,7 +4,7 @@ from typing import Any, Dict, Optional, Union, cast import httpx from ... import errors -from ...client import Client +from ...client import AuthenticatedClient, Client from ...models.body_user_create_users_post import BodyUserCreateUsersPost from ...models.http_validation_error import HTTPValidationError from ...types import Response @@ -12,26 +12,27 @@ from ...types import Response def _get_kwargs( *, - client: Client, - form_data: BodyUserCreateUsersPost, + body: BodyUserCreateUsersPost, ) -> Dict[str, Any]: - url = "{}/users".format(client.base_url) + headers: Dict[str, Any] = {} - headers: Dict[str, str] = client.get_headers() - cookies: Dict[str, Any] = client.get_cookies() - - return { + _kwargs: Dict[str, Any] = { "method": "post", - "url": url, - "headers": headers, - "cookies": cookies, - "timeout": client.get_timeout(), - "follow_redirects": client.follow_redirects, - "data": form_data.to_dict(), + "url": "/users", } + _body = body.to_dict() -def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Union[Any, HTTPValidationError]]: + _kwargs["data"] = _body + headers["Content-Type"] = "application/x-www-form-urlencoded" + + _kwargs["headers"] = headers + return _kwargs + + +def _parse_response( + *, client: Union[AuthenticatedClient, Client], response: httpx.Response +) -> Optional[Union[Any, HTTPValidationError]]: if response.status_code == HTTPStatus.NO_CONTENT: response_204 = cast(Any, None) return response_204 @@ -48,7 +49,9 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni return None -def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[Any, HTTPValidationError]]: +def _build_response( + *, client: Union[AuthenticatedClient, Client], response: httpx.Response +) -> Response[Union[Any, HTTPValidationError]]: return Response( status_code=HTTPStatus(response.status_code), content=response.content, @@ -59,11 +62,14 @@ def _build_response(*, client: Client, response: httpx.Response) -> Response[Uni def sync_detailed( *, - client: Client, - form_data: BodyUserCreateUsersPost, + client: Union[AuthenticatedClient, Client], + body: BodyUserCreateUsersPost, ) -> Response[Union[Any, HTTPValidationError]]: """User Create + Args: + body (BodyUserCreateUsersPost): + 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. @@ -73,12 +79,10 @@ def sync_detailed( """ kwargs = _get_kwargs( - client=client, - form_data=form_data, + body=body, ) - response = httpx.request( - verify=client.verify_ssl, + response = client.get_httpx_client().request( **kwargs, ) @@ -87,11 +91,14 @@ def sync_detailed( def sync( *, - client: Client, - form_data: BodyUserCreateUsersPost, + client: Union[AuthenticatedClient, Client], + body: BodyUserCreateUsersPost, ) -> Optional[Union[Any, HTTPValidationError]]: """User Create + Args: + body (BodyUserCreateUsersPost): + 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. @@ -102,17 +109,20 @@ def sync( return sync_detailed( client=client, - form_data=form_data, + body=body, ).parsed async def asyncio_detailed( *, - client: Client, - form_data: BodyUserCreateUsersPost, + client: Union[AuthenticatedClient, Client], + body: BodyUserCreateUsersPost, ) -> Response[Union[Any, HTTPValidationError]]: """User Create + Args: + body (BodyUserCreateUsersPost): + 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. @@ -122,23 +132,24 @@ async def asyncio_detailed( """ kwargs = _get_kwargs( - client=client, - form_data=form_data, + body=body, ) - async with httpx.AsyncClient(verify=client.verify_ssl) as _client: - response = await _client.request(**kwargs) + response = await client.get_async_httpx_client().request(**kwargs) return _build_response(client=client, response=response) async def asyncio( *, - client: Client, - form_data: BodyUserCreateUsersPost, + client: Union[AuthenticatedClient, Client], + body: BodyUserCreateUsersPost, ) -> Optional[Union[Any, HTTPValidationError]]: """User Create + Args: + body (BodyUserCreateUsersPost): + 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. @@ -150,6 +161,6 @@ async def asyncio( return ( await asyncio_detailed( client=client, - form_data=form_data, + body=body, ) ).parsed diff --git a/PhotosAPI_Client/photosapi_client/api/default/user_delete_users_me_delete.py b/PhotosAPI_Client/photosapi_client/api/default/user_delete_users_me_delete.py index aa91ce6..a0ed4b8 100644 --- a/PhotosAPI_Client/photosapi_client/api/default/user_delete_users_me_delete.py +++ b/PhotosAPI_Client/photosapi_client/api/default/user_delete_users_me_delete.py @@ -12,26 +12,27 @@ from ...types import Response def _get_kwargs( *, - client: AuthenticatedClient, - form_data: BodyUserDeleteUsersMeDelete, + body: BodyUserDeleteUsersMeDelete, ) -> Dict[str, Any]: - url = "{}/users/me/".format(client.base_url) + headers: Dict[str, Any] = {} - headers: Dict[str, str] = client.get_headers() - cookies: Dict[str, Any] = client.get_cookies() - - return { + _kwargs: Dict[str, Any] = { "method": "delete", - "url": url, - "headers": headers, - "cookies": cookies, - "timeout": client.get_timeout(), - "follow_redirects": client.follow_redirects, - "data": form_data.to_dict(), + "url": "/users/me/", } + _body = body.to_dict() -def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Union[Any, HTTPValidationError]]: + _kwargs["data"] = _body + headers["Content-Type"] = "application/x-www-form-urlencoded" + + _kwargs["headers"] = headers + return _kwargs + + +def _parse_response( + *, client: Union[AuthenticatedClient, Client], response: httpx.Response +) -> Optional[Union[Any, HTTPValidationError]]: if response.status_code == HTTPStatus.NO_CONTENT: response_204 = cast(Any, None) return response_204 @@ -48,7 +49,9 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni return None -def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[Any, HTTPValidationError]]: +def _build_response( + *, client: Union[AuthenticatedClient, Client], response: httpx.Response +) -> Response[Union[Any, HTTPValidationError]]: return Response( status_code=HTTPStatus(response.status_code), content=response.content, @@ -60,10 +63,13 @@ def _build_response(*, client: Client, response: httpx.Response) -> Response[Uni def sync_detailed( *, client: AuthenticatedClient, - form_data: BodyUserDeleteUsersMeDelete, + body: BodyUserDeleteUsersMeDelete, ) -> Response[Union[Any, HTTPValidationError]]: """User Delete + Args: + body (BodyUserDeleteUsersMeDelete): + 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. @@ -73,12 +79,10 @@ def sync_detailed( """ kwargs = _get_kwargs( - client=client, - form_data=form_data, + body=body, ) - response = httpx.request( - verify=client.verify_ssl, + response = client.get_httpx_client().request( **kwargs, ) @@ -88,10 +92,13 @@ def sync_detailed( def sync( *, client: AuthenticatedClient, - form_data: BodyUserDeleteUsersMeDelete, + body: BodyUserDeleteUsersMeDelete, ) -> Optional[Union[Any, HTTPValidationError]]: """User Delete + Args: + body (BodyUserDeleteUsersMeDelete): + 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. @@ -102,17 +109,20 @@ def sync( return sync_detailed( client=client, - form_data=form_data, + body=body, ).parsed async def asyncio_detailed( *, client: AuthenticatedClient, - form_data: BodyUserDeleteUsersMeDelete, + body: BodyUserDeleteUsersMeDelete, ) -> Response[Union[Any, HTTPValidationError]]: """User Delete + Args: + body (BodyUserDeleteUsersMeDelete): + 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. @@ -122,12 +132,10 @@ async def asyncio_detailed( """ kwargs = _get_kwargs( - client=client, - form_data=form_data, + body=body, ) - async with httpx.AsyncClient(verify=client.verify_ssl) as _client: - response = await _client.request(**kwargs) + response = await client.get_async_httpx_client().request(**kwargs) return _build_response(client=client, response=response) @@ -135,10 +143,13 @@ async def asyncio_detailed( async def asyncio( *, client: AuthenticatedClient, - form_data: BodyUserDeleteUsersMeDelete, + body: BodyUserDeleteUsersMeDelete, ) -> Optional[Union[Any, HTTPValidationError]]: """User Delete + Args: + body (BodyUserDeleteUsersMeDelete): + 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. @@ -150,6 +161,6 @@ async def asyncio( return ( await asyncio_detailed( client=client, - form_data=form_data, + body=body, ) ).parsed diff --git a/PhotosAPI_Client/photosapi_client/api/default/user_me_users_me_get.py b/PhotosAPI_Client/photosapi_client/api/default/user_me_users_me_get.py index 54d7dd7..1188436 100644 --- a/PhotosAPI_Client/photosapi_client/api/default/user_me_users_me_get.py +++ b/PhotosAPI_Client/photosapi_client/api/default/user_me_users_me_get.py @@ -1,5 +1,5 @@ from http import HTTPStatus -from typing import Any, Dict, Optional +from typing import Any, Dict, Optional, Union import httpx @@ -9,26 +9,17 @@ from ...models.user import User from ...types import Response -def _get_kwargs( - *, - client: AuthenticatedClient, -) -> Dict[str, Any]: - url = "{}/users/me/".format(client.base_url) +def _get_kwargs() -> Dict[str, Any]: - headers: Dict[str, str] = client.get_headers() - cookies: Dict[str, Any] = client.get_cookies() - - return { + _kwargs: Dict[str, Any] = { "method": "get", - "url": url, - "headers": headers, - "cookies": cookies, - "timeout": client.get_timeout(), - "follow_redirects": client.follow_redirects, + "url": "/users/me/", } + return _kwargs -def _parse_response(*, client: Client, response: httpx.Response) -> Optional[User]: + +def _parse_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> Optional[User]: if response.status_code == HTTPStatus.OK: response_200 = User.from_dict(response.json()) @@ -39,7 +30,7 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Use return None -def _build_response(*, client: Client, response: httpx.Response) -> Response[User]: +def _build_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> Response[User]: return Response( status_code=HTTPStatus(response.status_code), content=response.content, @@ -62,12 +53,9 @@ def sync_detailed( Response[User] """ - kwargs = _get_kwargs( - client=client, - ) + kwargs = _get_kwargs() - response = httpx.request( - verify=client.verify_ssl, + response = client.get_httpx_client().request( **kwargs, ) @@ -107,12 +95,9 @@ async def asyncio_detailed( Response[User] """ - kwargs = _get_kwargs( - client=client, - ) + kwargs = _get_kwargs() - async with httpx.AsyncClient(verify=client.verify_ssl) as _client: - response = await _client.request(**kwargs) + response = await client.get_async_httpx_client().request(**kwargs) return _build_response(client=client, response=response) diff --git a/PhotosAPI_Client/photosapi_client/api/default/video_delete_videos_id_delete.py b/PhotosAPI_Client/photosapi_client/api/default/video_delete_videos_id_delete.py index 15e3ac0..65605d8 100644 --- a/PhotosAPI_Client/photosapi_client/api/default/video_delete_videos_id_delete.py +++ b/PhotosAPI_Client/photosapi_client/api/default/video_delete_videos_id_delete.py @@ -11,25 +11,21 @@ from ...types import Response def _get_kwargs( id: str, - *, - client: AuthenticatedClient, ) -> Dict[str, Any]: - url = "{}/videos/{id}".format(client.base_url, id=id) - headers: Dict[str, str] = client.get_headers() - cookies: Dict[str, Any] = client.get_cookies() - - return { + _kwargs: Dict[str, Any] = { "method": "delete", - "url": url, - "headers": headers, - "cookies": cookies, - "timeout": client.get_timeout(), - "follow_redirects": client.follow_redirects, + "url": "/videos/{id}".format( + id=id, + ), } + return _kwargs -def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Union[Any, HTTPValidationError]]: + +def _parse_response( + *, client: Union[AuthenticatedClient, Client], response: httpx.Response +) -> Optional[Union[Any, HTTPValidationError]]: if response.status_code == HTTPStatus.NO_CONTENT: response_204 = cast(Any, None) return response_204 @@ -46,7 +42,9 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni return None -def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[Any, HTTPValidationError]]: +def _build_response( + *, client: Union[AuthenticatedClient, Client], response: httpx.Response +) -> Response[Union[Any, HTTPValidationError]]: return Response( status_code=HTTPStatus(response.status_code), content=response.content, @@ -77,11 +75,9 @@ def sync_detailed( kwargs = _get_kwargs( id=id, - client=client, ) - response = httpx.request( - verify=client.verify_ssl, + response = client.get_httpx_client().request( **kwargs, ) @@ -136,11 +132,9 @@ async def asyncio_detailed( kwargs = _get_kwargs( id=id, - client=client, ) - async with httpx.AsyncClient(verify=client.verify_ssl) as _client: - response = await _client.request(**kwargs) + response = await client.get_async_httpx_client().request(**kwargs) return _build_response(client=client, response=response) diff --git a/PhotosAPI_Client/photosapi_client/api/default/video_find_albums_album_videos_get.py b/PhotosAPI_Client/photosapi_client/api/default/video_find_albums_album_videos_get.py index 127f988..13a95e5 100644 --- a/PhotosAPI_Client/photosapi_client/api/default/video_find_albums_album_videos_get.py +++ b/PhotosAPI_Client/photosapi_client/api/default/video_find_albums_album_videos_get.py @@ -12,24 +12,35 @@ from ...types import UNSET, Response, Unset def _get_kwargs( album: str, *, - client: AuthenticatedClient, - q: Union[Unset, None, str] = UNSET, - caption: Union[Unset, None, str] = UNSET, - token: Union[Unset, None, str] = UNSET, - page: Union[Unset, None, int] = 1, - page_size: Union[Unset, None, int] = 100, + q: Union[None, Unset, str] = UNSET, + caption: Union[None, Unset, str] = UNSET, + token: Union[None, Unset, str] = UNSET, + page: Union[Unset, int] = 1, + page_size: Union[Unset, int] = 100, ) -> Dict[str, Any]: - url = "{}/albums/{album}/videos".format(client.base_url, album=album) - - headers: Dict[str, str] = client.get_headers() - cookies: Dict[str, Any] = client.get_cookies() params: Dict[str, Any] = {} - params["q"] = q - params["caption"] = caption + json_q: Union[None, Unset, str] + if isinstance(q, Unset): + json_q = UNSET + else: + json_q = q + params["q"] = json_q - params["token"] = token + json_caption: Union[None, Unset, str] + if isinstance(caption, Unset): + json_caption = UNSET + else: + json_caption = caption + params["caption"] = json_caption + + json_token: Union[None, Unset, str] + if isinstance(token, Unset): + json_token = UNSET + else: + json_token = token + params["token"] = json_token params["page"] = page @@ -37,18 +48,20 @@ def _get_kwargs( params = {k: v for k, v in params.items() if v is not UNSET and v is not None} - return { + _kwargs: Dict[str, Any] = { "method": "get", - "url": url, - "headers": headers, - "cookies": cookies, - "timeout": client.get_timeout(), - "follow_redirects": client.follow_redirects, + "url": "/albums/{album}/videos".format( + album=album, + ), "params": params, } + return _kwargs -def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Union[Any, SearchResultsVideo]]: + +def _parse_response( + *, client: Union[AuthenticatedClient, Client], response: httpx.Response +) -> Optional[Union[Any, SearchResultsVideo]]: if response.status_code == HTTPStatus.OK: response_200 = SearchResultsVideo.from_dict(response.json()) @@ -71,7 +84,9 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni return None -def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[Any, SearchResultsVideo]]: +def _build_response( + *, client: Union[AuthenticatedClient, Client], response: httpx.Response +) -> Response[Union[Any, SearchResultsVideo]]: return Response( status_code=HTTPStatus(response.status_code), content=response.content, @@ -84,11 +99,11 @@ def sync_detailed( album: str, *, client: AuthenticatedClient, - q: Union[Unset, None, str] = UNSET, - caption: Union[Unset, None, str] = UNSET, - token: Union[Unset, None, str] = UNSET, - page: Union[Unset, None, int] = 1, - page_size: Union[Unset, None, int] = 100, + q: Union[None, Unset, str] = UNSET, + caption: Union[None, Unset, str] = UNSET, + token: Union[None, Unset, str] = UNSET, + page: Union[Unset, int] = 1, + page_size: Union[Unset, int] = 100, ) -> Response[Union[Any, SearchResultsVideo]]: """Video Find @@ -96,11 +111,11 @@ def sync_detailed( Args: album (str): - q (Union[Unset, None, str]): - caption (Union[Unset, None, str]): - token (Union[Unset, None, str]): - page (Union[Unset, None, int]): Default: 1. - page_size (Union[Unset, None, int]): Default: 100. + q (Union[None, Unset, str]): + caption (Union[None, Unset, str]): + token (Union[None, Unset, str]): + page (Union[Unset, int]): Default: 1. + page_size (Union[Unset, int]): Default: 100. Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -112,7 +127,6 @@ def sync_detailed( kwargs = _get_kwargs( album=album, - client=client, q=q, caption=caption, token=token, @@ -120,8 +134,7 @@ def sync_detailed( page_size=page_size, ) - response = httpx.request( - verify=client.verify_ssl, + response = client.get_httpx_client().request( **kwargs, ) @@ -132,11 +145,11 @@ def sync( album: str, *, client: AuthenticatedClient, - q: Union[Unset, None, str] = UNSET, - caption: Union[Unset, None, str] = UNSET, - token: Union[Unset, None, str] = UNSET, - page: Union[Unset, None, int] = 1, - page_size: Union[Unset, None, int] = 100, + q: Union[None, Unset, str] = UNSET, + caption: Union[None, Unset, str] = UNSET, + token: Union[None, Unset, str] = UNSET, + page: Union[Unset, int] = 1, + page_size: Union[Unset, int] = 100, ) -> Optional[Union[Any, SearchResultsVideo]]: """Video Find @@ -144,11 +157,11 @@ def sync( Args: album (str): - q (Union[Unset, None, str]): - caption (Union[Unset, None, str]): - token (Union[Unset, None, str]): - page (Union[Unset, None, int]): Default: 1. - page_size (Union[Unset, None, int]): Default: 100. + q (Union[None, Unset, str]): + caption (Union[None, Unset, str]): + token (Union[None, Unset, str]): + page (Union[Unset, int]): Default: 1. + page_size (Union[Unset, int]): Default: 100. Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -173,11 +186,11 @@ async def asyncio_detailed( album: str, *, client: AuthenticatedClient, - q: Union[Unset, None, str] = UNSET, - caption: Union[Unset, None, str] = UNSET, - token: Union[Unset, None, str] = UNSET, - page: Union[Unset, None, int] = 1, - page_size: Union[Unset, None, int] = 100, + q: Union[None, Unset, str] = UNSET, + caption: Union[None, Unset, str] = UNSET, + token: Union[None, Unset, str] = UNSET, + page: Union[Unset, int] = 1, + page_size: Union[Unset, int] = 100, ) -> Response[Union[Any, SearchResultsVideo]]: """Video Find @@ -185,11 +198,11 @@ async def asyncio_detailed( Args: album (str): - q (Union[Unset, None, str]): - caption (Union[Unset, None, str]): - token (Union[Unset, None, str]): - page (Union[Unset, None, int]): Default: 1. - page_size (Union[Unset, None, int]): Default: 100. + q (Union[None, Unset, str]): + caption (Union[None, Unset, str]): + token (Union[None, Unset, str]): + page (Union[Unset, int]): Default: 1. + page_size (Union[Unset, int]): Default: 100. Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -201,7 +214,6 @@ async def asyncio_detailed( kwargs = _get_kwargs( album=album, - client=client, q=q, caption=caption, token=token, @@ -209,8 +221,7 @@ async def asyncio_detailed( page_size=page_size, ) - async with httpx.AsyncClient(verify=client.verify_ssl) as _client: - response = await _client.request(**kwargs) + response = await client.get_async_httpx_client().request(**kwargs) return _build_response(client=client, response=response) @@ -219,11 +230,11 @@ async def asyncio( album: str, *, client: AuthenticatedClient, - q: Union[Unset, None, str] = UNSET, - caption: Union[Unset, None, str] = UNSET, - token: Union[Unset, None, str] = UNSET, - page: Union[Unset, None, int] = 1, - page_size: Union[Unset, None, int] = 100, + q: Union[None, Unset, str] = UNSET, + caption: Union[None, Unset, str] = UNSET, + token: Union[None, Unset, str] = UNSET, + page: Union[Unset, int] = 1, + page_size: Union[Unset, int] = 100, ) -> Optional[Union[Any, SearchResultsVideo]]: """Video Find @@ -231,11 +242,11 @@ async def asyncio( Args: album (str): - q (Union[Unset, None, str]): - caption (Union[Unset, None, str]): - token (Union[Unset, None, str]): - page (Union[Unset, None, int]): Default: 1. - page_size (Union[Unset, None, int]): Default: 100. + q (Union[None, Unset, str]): + caption (Union[None, Unset, str]): + token (Union[None, Unset, str]): + page (Union[Unset, int]): Default: 1. + page_size (Union[Unset, int]): Default: 100. Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. diff --git a/PhotosAPI_Client/photosapi_client/api/default/video_get_videos_id_get.py b/PhotosAPI_Client/photosapi_client/api/default/video_get_videos_id_get.py index 9cd9701..3a986f6 100644 --- a/PhotosAPI_Client/photosapi_client/api/default/video_get_videos_id_get.py +++ b/PhotosAPI_Client/photosapi_client/api/default/video_get_videos_id_get.py @@ -12,25 +12,21 @@ from ...types import File, Response def _get_kwargs( id: str, - *, - client: AuthenticatedClient, ) -> Dict[str, Any]: - url = "{}/videos/{id}".format(client.base_url, id=id) - headers: Dict[str, str] = client.get_headers() - cookies: Dict[str, Any] = client.get_cookies() - - return { + _kwargs: Dict[str, Any] = { "method": "get", - "url": url, - "headers": headers, - "cookies": cookies, - "timeout": client.get_timeout(), - "follow_redirects": client.follow_redirects, + "url": "/videos/{id}".format( + id=id, + ), } + return _kwargs -def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Union[Any, File, HTTPValidationError]]: + +def _parse_response( + *, client: Union[AuthenticatedClient, Client], response: httpx.Response +) -> Optional[Union[Any, File, HTTPValidationError]]: if response.status_code == HTTPStatus.OK: response_200 = File(payload=BytesIO(response.content)) @@ -48,7 +44,9 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni return None -def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[Any, File, HTTPValidationError]]: +def _build_response( + *, client: Union[AuthenticatedClient, Client], response: httpx.Response +) -> Response[Union[Any, File, HTTPValidationError]]: return Response( status_code=HTTPStatus(response.status_code), content=response.content, @@ -79,11 +77,9 @@ def sync_detailed( kwargs = _get_kwargs( id=id, - client=client, ) - response = httpx.request( - verify=client.verify_ssl, + response = client.get_httpx_client().request( **kwargs, ) @@ -138,11 +134,9 @@ async def asyncio_detailed( kwargs = _get_kwargs( id=id, - client=client, ) - async with httpx.AsyncClient(verify=client.verify_ssl) as _client: - response = await _client.request(**kwargs) + response = await client.get_async_httpx_client().request(**kwargs) return _build_response(client=client, response=response) diff --git a/PhotosAPI_Client/photosapi_client/api/default/video_move_videos_id_put.py b/PhotosAPI_Client/photosapi_client/api/default/video_move_videos_id_put.py index 14c08be..f2bedef 100644 --- a/PhotosAPI_Client/photosapi_client/api/default/video_move_videos_id_put.py +++ b/PhotosAPI_Client/photosapi_client/api/default/video_move_videos_id_put.py @@ -13,32 +13,28 @@ from ...types import UNSET, Response def _get_kwargs( id: str, *, - client: AuthenticatedClient, album: str, ) -> Dict[str, Any]: - url = "{}/videos/{id}".format(client.base_url, id=id) - - headers: Dict[str, str] = client.get_headers() - cookies: Dict[str, Any] = client.get_cookies() params: Dict[str, Any] = {} + params["album"] = album params = {k: v for k, v in params.items() if v is not UNSET and v is not None} - return { + _kwargs: Dict[str, Any] = { "method": "put", - "url": url, - "headers": headers, - "cookies": cookies, - "timeout": client.get_timeout(), - "follow_redirects": client.follow_redirects, + "url": "/videos/{id}".format( + id=id, + ), "params": params, } + return _kwargs + def _parse_response( - *, client: Client, response: httpx.Response + *, client: Union[AuthenticatedClient, Client], response: httpx.Response ) -> Optional[Union[Any, HTTPValidationError, VideoPublic]]: if response.status_code == HTTPStatus.OK: response_200 = VideoPublic.from_dict(response.json()) @@ -58,7 +54,7 @@ def _parse_response( def _build_response( - *, client: Client, response: httpx.Response + *, client: Union[AuthenticatedClient, Client], response: httpx.Response ) -> Response[Union[Any, HTTPValidationError, VideoPublic]]: return Response( status_code=HTTPStatus(response.status_code), @@ -92,12 +88,10 @@ def sync_detailed( kwargs = _get_kwargs( id=id, - client=client, album=album, ) - response = httpx.request( - verify=client.verify_ssl, + response = client.get_httpx_client().request( **kwargs, ) @@ -157,12 +151,10 @@ async def asyncio_detailed( kwargs = _get_kwargs( id=id, - client=client, album=album, ) - async with httpx.AsyncClient(verify=client.verify_ssl) as _client: - response = await _client.request(**kwargs) + response = await client.get_async_httpx_client().request(**kwargs) return _build_response(client=client, response=response) diff --git a/PhotosAPI_Client/photosapi_client/api/default/video_patch_videos_id_patch.py b/PhotosAPI_Client/photosapi_client/api/default/video_patch_videos_id_patch.py index a2e32aa..38c6108 100644 --- a/PhotosAPI_Client/photosapi_client/api/default/video_patch_videos_id_patch.py +++ b/PhotosAPI_Client/photosapi_client/api/default/video_patch_videos_id_patch.py @@ -13,32 +13,28 @@ from ...types import UNSET, Response def _get_kwargs( id: str, *, - client: AuthenticatedClient, caption: str, ) -> Dict[str, Any]: - url = "{}/videos/{id}".format(client.base_url, id=id) - - headers: Dict[str, str] = client.get_headers() - cookies: Dict[str, Any] = client.get_cookies() params: Dict[str, Any] = {} + params["caption"] = caption params = {k: v for k, v in params.items() if v is not UNSET and v is not None} - return { + _kwargs: Dict[str, Any] = { "method": "patch", - "url": url, - "headers": headers, - "cookies": cookies, - "timeout": client.get_timeout(), - "follow_redirects": client.follow_redirects, + "url": "/videos/{id}".format( + id=id, + ), "params": params, } + return _kwargs + def _parse_response( - *, client: Client, response: httpx.Response + *, client: Union[AuthenticatedClient, Client], response: httpx.Response ) -> Optional[Union[Any, HTTPValidationError, VideoPublic]]: if response.status_code == HTTPStatus.OK: response_200 = VideoPublic.from_dict(response.json()) @@ -58,7 +54,7 @@ def _parse_response( def _build_response( - *, client: Client, response: httpx.Response + *, client: Union[AuthenticatedClient, Client], response: httpx.Response ) -> Response[Union[Any, HTTPValidationError, VideoPublic]]: return Response( status_code=HTTPStatus(response.status_code), @@ -92,12 +88,10 @@ def sync_detailed( kwargs = _get_kwargs( id=id, - client=client, caption=caption, ) - response = httpx.request( - verify=client.verify_ssl, + response = client.get_httpx_client().request( **kwargs, ) @@ -157,12 +151,10 @@ async def asyncio_detailed( kwargs = _get_kwargs( id=id, - client=client, caption=caption, ) - async with httpx.AsyncClient(verify=client.verify_ssl) as _client: - response = await _client.request(**kwargs) + response = await client.get_async_httpx_client().request(**kwargs) return _build_response(client=client, response=response) diff --git a/PhotosAPI_Client/photosapi_client/api/default/video_random_albums_album_videos_random_get.py b/PhotosAPI_Client/photosapi_client/api/default/video_random_albums_album_videos_random_get.py index 0478aa8..da8eb81 100644 --- a/PhotosAPI_Client/photosapi_client/api/default/video_random_albums_album_videos_random_get.py +++ b/PhotosAPI_Client/photosapi_client/api/default/video_random_albums_album_videos_random_get.py @@ -13,35 +13,36 @@ from ...types import UNSET, Response, Unset def _get_kwargs( album: str, *, - client: AuthenticatedClient, - caption: Union[Unset, None, str] = UNSET, - limit: Union[Unset, None, int] = 100, + caption: Union[None, Unset, str] = UNSET, + limit: Union[Unset, int] = 100, ) -> Dict[str, Any]: - url = "{}/albums/{album}/videos/random".format(client.base_url, album=album) - - headers: Dict[str, str] = client.get_headers() - cookies: Dict[str, Any] = client.get_cookies() params: Dict[str, Any] = {} - params["caption"] = caption + + json_caption: Union[None, Unset, str] + if isinstance(caption, Unset): + json_caption = UNSET + else: + json_caption = caption + params["caption"] = json_caption params["limit"] = limit params = {k: v for k, v in params.items() if v is not UNSET and v is not None} - return { + _kwargs: Dict[str, Any] = { "method": "get", - "url": url, - "headers": headers, - "cookies": cookies, - "timeout": client.get_timeout(), - "follow_redirects": client.follow_redirects, + "url": "/albums/{album}/videos/random".format( + album=album, + ), "params": params, } + return _kwargs + def _parse_response( - *, client: Client, response: httpx.Response + *, client: Union[AuthenticatedClient, Client], response: httpx.Response ) -> Optional[Union[Any, HTTPValidationError, RandomSearchResultsVideo]]: if response.status_code == HTTPStatus.OK: response_200 = RandomSearchResultsVideo.from_dict(response.json()) @@ -64,7 +65,7 @@ def _parse_response( def _build_response( - *, client: Client, response: httpx.Response + *, client: Union[AuthenticatedClient, Client], response: httpx.Response ) -> Response[Union[Any, HTTPValidationError, RandomSearchResultsVideo]]: return Response( status_code=HTTPStatus(response.status_code), @@ -78,8 +79,8 @@ def sync_detailed( album: str, *, client: AuthenticatedClient, - caption: Union[Unset, None, str] = UNSET, - limit: Union[Unset, None, int] = 100, + caption: Union[None, Unset, str] = UNSET, + limit: Union[Unset, int] = 100, ) -> Response[Union[Any, HTTPValidationError, RandomSearchResultsVideo]]: """Video Random @@ -87,8 +88,8 @@ def sync_detailed( Args: album (str): - caption (Union[Unset, None, str]): - limit (Union[Unset, None, int]): Default: 100. + caption (Union[None, Unset, str]): + limit (Union[Unset, int]): Default: 100. Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -100,13 +101,11 @@ def sync_detailed( kwargs = _get_kwargs( album=album, - client=client, caption=caption, limit=limit, ) - response = httpx.request( - verify=client.verify_ssl, + response = client.get_httpx_client().request( **kwargs, ) @@ -117,8 +116,8 @@ def sync( album: str, *, client: AuthenticatedClient, - caption: Union[Unset, None, str] = UNSET, - limit: Union[Unset, None, int] = 100, + caption: Union[None, Unset, str] = UNSET, + limit: Union[Unset, int] = 100, ) -> Optional[Union[Any, HTTPValidationError, RandomSearchResultsVideo]]: """Video Random @@ -126,8 +125,8 @@ def sync( Args: album (str): - caption (Union[Unset, None, str]): - limit (Union[Unset, None, int]): Default: 100. + caption (Union[None, Unset, str]): + limit (Union[Unset, int]): Default: 100. Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -149,8 +148,8 @@ async def asyncio_detailed( album: str, *, client: AuthenticatedClient, - caption: Union[Unset, None, str] = UNSET, - limit: Union[Unset, None, int] = 100, + caption: Union[None, Unset, str] = UNSET, + limit: Union[Unset, int] = 100, ) -> Response[Union[Any, HTTPValidationError, RandomSearchResultsVideo]]: """Video Random @@ -158,8 +157,8 @@ async def asyncio_detailed( Args: album (str): - caption (Union[Unset, None, str]): - limit (Union[Unset, None, int]): Default: 100. + caption (Union[None, Unset, str]): + limit (Union[Unset, int]): Default: 100. Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -171,13 +170,11 @@ async def asyncio_detailed( kwargs = _get_kwargs( album=album, - client=client, caption=caption, limit=limit, ) - async with httpx.AsyncClient(verify=client.verify_ssl) as _client: - response = await _client.request(**kwargs) + response = await client.get_async_httpx_client().request(**kwargs) return _build_response(client=client, response=response) @@ -186,8 +183,8 @@ async def asyncio( album: str, *, client: AuthenticatedClient, - caption: Union[Unset, None, str] = UNSET, - limit: Union[Unset, None, int] = 100, + caption: Union[None, Unset, str] = UNSET, + limit: Union[Unset, int] = 100, ) -> Optional[Union[Any, HTTPValidationError, RandomSearchResultsVideo]]: """Video Random @@ -195,8 +192,8 @@ async def asyncio( Args: album (str): - caption (Union[Unset, None, str]): - limit (Union[Unset, None, int]): Default: 100. + caption (Union[None, Unset, str]): + limit (Union[Unset, int]): Default: 100. Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. diff --git a/PhotosAPI_Client/photosapi_client/api/default/video_upload_albums_album_videos_post.py b/PhotosAPI_Client/photosapi_client/api/default/video_upload_albums_album_videos_post.py index b89078b..0995718 100644 --- a/PhotosAPI_Client/photosapi_client/api/default/video_upload_albums_album_videos_post.py +++ b/PhotosAPI_Client/photosapi_client/api/default/video_upload_albums_album_videos_post.py @@ -14,39 +14,48 @@ from ...types import UNSET, Response, Unset def _get_kwargs( album: str, *, - client: AuthenticatedClient, - multipart_data: BodyVideoUploadAlbumsAlbumVideosPost, - caption: Union[Unset, None, str] = UNSET, + body: BodyVideoUploadAlbumsAlbumVideosPost, + caption: Union[None, Unset, str] = UNSET, ) -> Dict[str, Any]: - url = "{}/albums/{album}/videos".format(client.base_url, album=album) - - headers: Dict[str, str] = client.get_headers() - cookies: Dict[str, Any] = client.get_cookies() + headers: Dict[str, Any] = {} params: Dict[str, Any] = {} - params["caption"] = caption + + json_caption: Union[None, Unset, str] + if isinstance(caption, Unset): + json_caption = UNSET + else: + json_caption = caption + params["caption"] = json_caption params = {k: v for k, v in params.items() if v is not UNSET and v is not None} - multipart_multipart_data = multipart_data.to_multipart() - - return { + _kwargs: Dict[str, Any] = { "method": "post", - "url": url, - "headers": headers, - "cookies": cookies, - "timeout": client.get_timeout(), - "follow_redirects": client.follow_redirects, - "files": multipart_multipart_data, + "url": "/albums/{album}/videos".format( + album=album, + ), "params": params, } + _body = body.to_multipart() -def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Union[Any, HTTPValidationError, Video]]: + _kwargs["files"] = _body + + _kwargs["headers"] = headers + return _kwargs + + +def _parse_response( + *, client: Union[AuthenticatedClient, Client], response: httpx.Response +) -> Optional[Union[Any, HTTPValidationError, Video]]: if response.status_code == HTTPStatus.OK: response_200 = Video.from_dict(response.json()) return response_200 + if response.status_code == HTTPStatus.FORBIDDEN: + response_403 = cast(Any, None) + return response_403 if response.status_code == HTTPStatus.NOT_FOUND: response_404 = cast(Any, None) return response_404 @@ -60,7 +69,9 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni return None -def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[Any, HTTPValidationError, Video]]: +def _build_response( + *, client: Union[AuthenticatedClient, Client], response: httpx.Response +) -> Response[Union[Any, HTTPValidationError, Video]]: return Response( status_code=HTTPStatus(response.status_code), content=response.content, @@ -73,8 +84,8 @@ def sync_detailed( album: str, *, client: AuthenticatedClient, - multipart_data: BodyVideoUploadAlbumsAlbumVideosPost, - caption: Union[Unset, None, str] = UNSET, + body: BodyVideoUploadAlbumsAlbumVideosPost, + caption: Union[None, Unset, str] = UNSET, ) -> Response[Union[Any, HTTPValidationError, Video]]: """Video Upload @@ -82,8 +93,8 @@ def sync_detailed( Args: album (str): - caption (Union[Unset, None, str]): - multipart_data (BodyVideoUploadAlbumsAlbumVideosPost): + caption (Union[None, Unset, str]): + body (BodyVideoUploadAlbumsAlbumVideosPost): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -95,13 +106,11 @@ def sync_detailed( kwargs = _get_kwargs( album=album, - client=client, - multipart_data=multipart_data, + body=body, caption=caption, ) - response = httpx.request( - verify=client.verify_ssl, + response = client.get_httpx_client().request( **kwargs, ) @@ -112,8 +121,8 @@ def sync( album: str, *, client: AuthenticatedClient, - multipart_data: BodyVideoUploadAlbumsAlbumVideosPost, - caption: Union[Unset, None, str] = UNSET, + body: BodyVideoUploadAlbumsAlbumVideosPost, + caption: Union[None, Unset, str] = UNSET, ) -> Optional[Union[Any, HTTPValidationError, Video]]: """Video Upload @@ -121,8 +130,8 @@ def sync( Args: album (str): - caption (Union[Unset, None, str]): - multipart_data (BodyVideoUploadAlbumsAlbumVideosPost): + caption (Union[None, Unset, str]): + body (BodyVideoUploadAlbumsAlbumVideosPost): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -135,7 +144,7 @@ def sync( return sync_detailed( album=album, client=client, - multipart_data=multipart_data, + body=body, caption=caption, ).parsed @@ -144,8 +153,8 @@ async def asyncio_detailed( album: str, *, client: AuthenticatedClient, - multipart_data: BodyVideoUploadAlbumsAlbumVideosPost, - caption: Union[Unset, None, str] = UNSET, + body: BodyVideoUploadAlbumsAlbumVideosPost, + caption: Union[None, Unset, str] = UNSET, ) -> Response[Union[Any, HTTPValidationError, Video]]: """Video Upload @@ -153,8 +162,8 @@ async def asyncio_detailed( Args: album (str): - caption (Union[Unset, None, str]): - multipart_data (BodyVideoUploadAlbumsAlbumVideosPost): + caption (Union[None, Unset, str]): + body (BodyVideoUploadAlbumsAlbumVideosPost): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -166,13 +175,11 @@ async def asyncio_detailed( kwargs = _get_kwargs( album=album, - client=client, - multipart_data=multipart_data, + body=body, caption=caption, ) - async with httpx.AsyncClient(verify=client.verify_ssl) as _client: - response = await _client.request(**kwargs) + response = await client.get_async_httpx_client().request(**kwargs) return _build_response(client=client, response=response) @@ -181,8 +188,8 @@ async def asyncio( album: str, *, client: AuthenticatedClient, - multipart_data: BodyVideoUploadAlbumsAlbumVideosPost, - caption: Union[Unset, None, str] = UNSET, + body: BodyVideoUploadAlbumsAlbumVideosPost, + caption: Union[None, Unset, str] = UNSET, ) -> Optional[Union[Any, HTTPValidationError, Video]]: """Video Upload @@ -190,8 +197,8 @@ async def asyncio( Args: album (str): - caption (Union[Unset, None, str]): - multipart_data (BodyVideoUploadAlbumsAlbumVideosPost): + caption (Union[None, Unset, str]): + body (BodyVideoUploadAlbumsAlbumVideosPost): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -205,7 +212,7 @@ async def asyncio( await asyncio_detailed( album=album, client=client, - multipart_data=multipart_data, + body=body, caption=caption, ) ).parsed diff --git a/PhotosAPI_Client/photosapi_client/client.py b/PhotosAPI_Client/photosapi_client/client.py index 2f45c65..74b476c 100644 --- a/PhotosAPI_Client/photosapi_client/client.py +++ b/PhotosAPI_Client/photosapi_client/client.py @@ -1,66 +1,268 @@ import ssl -from typing import Dict, Union +from typing import Any, Dict, Optional, Union -import attr +import httpx +from attrs import define, evolve, field -@attr.s(auto_attribs=True) +@define class Client: """A class for keeping track of data related to the API + The following are accepted as keyword arguments and will be used to construct httpx Clients internally: + + ``base_url``: The base URL for the API, all requests are made to a relative path to this URL + + ``cookies``: A dictionary of cookies to be sent with every request + + ``headers``: A dictionary of headers to be sent with every request + + ``timeout``: The maximum amount of a time a request can take. API functions will raise + httpx.TimeoutException if this is exceeded. + + ``verify_ssl``: Whether or not to verify the SSL certificate of the API server. This should be True in production, + but can be set to False for testing purposes. + + ``follow_redirects``: Whether or not to follow redirects. Default value is False. + + ``httpx_args``: A dictionary of additional arguments to be passed to the ``httpx.Client`` and ``httpx.AsyncClient`` constructor. + + Attributes: - base_url: The base URL for the API, all requests are made to a relative path to this URL - cookies: A dictionary of cookies to be sent with every request - headers: A dictionary of headers to be sent with every request - timeout: The maximum amount of a time in seconds a request can take. API functions will raise - httpx.TimeoutException if this is exceeded. - verify_ssl: Whether or not to verify the SSL certificate of the API server. This should be True in production, - 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 - status code that was not documented in the source OpenAPI document. - follow_redirects: Whether or not to follow redirects. Default value is False. + status code that was not documented in the source OpenAPI document. Can also be provided as a keyword + argument to the constructor. """ - base_url: str - cookies: Dict[str, str] = attr.ib(factory=dict, kw_only=True) - headers: Dict[str, str] = attr.ib(factory=dict, 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) - 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]: - """Get headers to be used in all endpoints""" - return {**self.headers} + raise_on_unexpected_status: bool = field(default=False, kw_only=True) + _base_url: str + _cookies: Dict[str, str] = field(factory=dict, kw_only=True) + _headers: Dict[str, str] = field(factory=dict, kw_only=True) + _timeout: Optional[httpx.Timeout] = field(default=None, kw_only=True) + _verify_ssl: Union[str, bool, ssl.SSLContext] = field(default=True, kw_only=True) + _follow_redirects: bool = field(default=False, kw_only=True) + _httpx_args: Dict[str, Any] = field(factory=dict, kw_only=True) + _client: Optional[httpx.Client] = field(default=None, init=False) + _async_client: Optional[httpx.AsyncClient] = field(default=None, init=False) def with_headers(self, headers: Dict[str, str]) -> "Client": """Get a new client matching this one with additional headers""" - return attr.evolve(self, headers={**self.headers, **headers}) - - def get_cookies(self) -> Dict[str, str]: - return {**self.cookies} + if self._client is not None: + self._client.headers.update(headers) + if self._async_client is not None: + self._async_client.headers.update(headers) + return evolve(self, headers={**self._headers, **headers}) def with_cookies(self, cookies: Dict[str, str]) -> "Client": """Get a new client matching this one with additional cookies""" - return attr.evolve(self, cookies={**self.cookies, **cookies}) + if self._client is not None: + self._client.cookies.update(cookies) + if self._async_client is not None: + self._async_client.cookies.update(cookies) + return evolve(self, cookies={**self._cookies, **cookies}) - def get_timeout(self) -> float: - return self.timeout - - def with_timeout(self, timeout: float) -> "Client": + def with_timeout(self, timeout: httpx.Timeout) -> "Client": """Get a new client matching this one with a new timeout (in seconds)""" - return attr.evolve(self, timeout=timeout) + if self._client is not None: + self._client.timeout = timeout + if self._async_client is not None: + self._async_client.timeout = timeout + return evolve(self, timeout=timeout) + + def set_httpx_client(self, client: httpx.Client) -> "Client": + """Manually the underlying httpx.Client + + **NOTE**: This will override any other settings on the client, including cookies, headers, and timeout. + """ + self._client = client + return self + + def get_httpx_client(self) -> httpx.Client: + """Get the underlying httpx.Client, constructing a new one if not previously set""" + if self._client is None: + self._client = httpx.Client( + base_url=self._base_url, + cookies=self._cookies, + headers=self._headers, + timeout=self._timeout, + verify=self._verify_ssl, + follow_redirects=self._follow_redirects, + **self._httpx_args, + ) + return self._client + + def __enter__(self) -> "Client": + """Enter a context manager for self.client—you cannot enter twice (see httpx docs)""" + self.get_httpx_client().__enter__() + return self + + def __exit__(self, *args: Any, **kwargs: Any) -> None: + """Exit a context manager for internal httpx.Client (see httpx docs)""" + self.get_httpx_client().__exit__(*args, **kwargs) + + def set_async_httpx_client(self, async_client: httpx.AsyncClient) -> "Client": + """Manually the underlying httpx.AsyncClient + + **NOTE**: This will override any other settings on the client, including cookies, headers, and timeout. + """ + self._async_client = async_client + return self + + def get_async_httpx_client(self) -> httpx.AsyncClient: + """Get the underlying httpx.AsyncClient, constructing a new one if not previously set""" + if self._async_client is None: + self._async_client = httpx.AsyncClient( + base_url=self._base_url, + cookies=self._cookies, + headers=self._headers, + timeout=self._timeout, + verify=self._verify_ssl, + follow_redirects=self._follow_redirects, + **self._httpx_args, + ) + return self._async_client + + async def __aenter__(self) -> "Client": + """Enter a context manager for underlying httpx.AsyncClient—you cannot enter twice (see httpx docs)""" + await self.get_async_httpx_client().__aenter__() + return self + + async def __aexit__(self, *args: Any, **kwargs: Any) -> None: + """Exit a context manager for underlying httpx.AsyncClient (see httpx docs)""" + await self.get_async_httpx_client().__aexit__(*args, **kwargs) -@attr.s(auto_attribs=True) -class AuthenticatedClient(Client): - """A Client which has been authenticated for use on secured endpoints""" +@define +class AuthenticatedClient: + """A Client which has been authenticated for use on secured endpoints + + The following are accepted as keyword arguments and will be used to construct httpx Clients internally: + + ``base_url``: The base URL for the API, all requests are made to a relative path to this URL + + ``cookies``: A dictionary of cookies to be sent with every request + + ``headers``: A dictionary of headers to be sent with every request + + ``timeout``: The maximum amount of a time a request can take. API functions will raise + httpx.TimeoutException if this is exceeded. + + ``verify_ssl``: Whether or not to verify the SSL certificate of the API server. This should be True in production, + but can be set to False for testing purposes. + + ``follow_redirects``: Whether or not to follow redirects. Default value is False. + + ``httpx_args``: A dictionary of additional arguments to be passed to the ``httpx.Client`` and ``httpx.AsyncClient`` constructor. + + + Attributes: + 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. Can also be provided as a keyword + argument to the constructor. + token: The token to use for authentication + prefix: The prefix to use for the Authorization header + auth_header_name: The name of the Authorization header + """ + + raise_on_unexpected_status: bool = field(default=False, kw_only=True) + _base_url: str + _cookies: Dict[str, str] = field(factory=dict, kw_only=True) + _headers: Dict[str, str] = field(factory=dict, kw_only=True) + _timeout: Optional[httpx.Timeout] = field(default=None, kw_only=True) + _verify_ssl: Union[str, bool, ssl.SSLContext] = field(default=True, kw_only=True) + _follow_redirects: bool = field(default=False, kw_only=True) + _httpx_args: Dict[str, Any] = field(factory=dict, kw_only=True) + _client: Optional[httpx.Client] = field(default=None, init=False) + _async_client: Optional[httpx.AsyncClient] = field(default=None, init=False) token: str prefix: str = "Bearer" auth_header_name: str = "Authorization" - def get_headers(self) -> Dict[str, str]: - """Get headers to be used in authenticated endpoints""" - auth_header_value = f"{self.prefix} {self.token}" if self.prefix else self.token - return {self.auth_header_name: auth_header_value, **self.headers} + def with_headers(self, headers: Dict[str, str]) -> "AuthenticatedClient": + """Get a new client matching this one with additional headers""" + if self._client is not None: + self._client.headers.update(headers) + if self._async_client is not None: + self._async_client.headers.update(headers) + return evolve(self, headers={**self._headers, **headers}) + + def with_cookies(self, cookies: Dict[str, str]) -> "AuthenticatedClient": + """Get a new client matching this one with additional cookies""" + if self._client is not None: + self._client.cookies.update(cookies) + if self._async_client is not None: + self._async_client.cookies.update(cookies) + return evolve(self, cookies={**self._cookies, **cookies}) + + def with_timeout(self, timeout: httpx.Timeout) -> "AuthenticatedClient": + """Get a new client matching this one with a new timeout (in seconds)""" + if self._client is not None: + self._client.timeout = timeout + if self._async_client is not None: + self._async_client.timeout = timeout + return evolve(self, timeout=timeout) + + def set_httpx_client(self, client: httpx.Client) -> "AuthenticatedClient": + """Manually the underlying httpx.Client + + **NOTE**: This will override any other settings on the client, including cookies, headers, and timeout. + """ + self._client = client + return self + + def get_httpx_client(self) -> httpx.Client: + """Get the underlying httpx.Client, constructing a new one if not previously set""" + if self._client is None: + self._headers[self.auth_header_name] = f"{self.prefix} {self.token}" if self.prefix else self.token + self._client = httpx.Client( + base_url=self._base_url, + cookies=self._cookies, + headers=self._headers, + timeout=self._timeout, + verify=self._verify_ssl, + follow_redirects=self._follow_redirects, + **self._httpx_args, + ) + return self._client + + def __enter__(self) -> "AuthenticatedClient": + """Enter a context manager for self.client—you cannot enter twice (see httpx docs)""" + self.get_httpx_client().__enter__() + return self + + def __exit__(self, *args: Any, **kwargs: Any) -> None: + """Exit a context manager for internal httpx.Client (see httpx docs)""" + self.get_httpx_client().__exit__(*args, **kwargs) + + def set_async_httpx_client(self, async_client: httpx.AsyncClient) -> "AuthenticatedClient": + """Manually the underlying httpx.AsyncClient + + **NOTE**: This will override any other settings on the client, including cookies, headers, and timeout. + """ + self._async_client = async_client + return self + + def get_async_httpx_client(self) -> httpx.AsyncClient: + """Get the underlying httpx.AsyncClient, constructing a new one if not previously set""" + if self._async_client is None: + self._headers[self.auth_header_name] = f"{self.prefix} {self.token}" if self.prefix else self.token + self._async_client = httpx.AsyncClient( + base_url=self._base_url, + cookies=self._cookies, + headers=self._headers, + timeout=self._timeout, + verify=self._verify_ssl, + follow_redirects=self._follow_redirects, + **self._httpx_args, + ) + return self._async_client + + async def __aenter__(self) -> "AuthenticatedClient": + """Enter a context manager for underlying httpx.AsyncClient—you cannot enter twice (see httpx docs)""" + await self.get_async_httpx_client().__aenter__() + return self + + async def __aexit__(self, *args: Any, **kwargs: Any) -> None: + """Exit a context manager for underlying httpx.AsyncClient (see httpx docs)""" + await self.get_async_httpx_client().__aexit__(*args, **kwargs) diff --git a/PhotosAPI_Client/photosapi_client/errors.py b/PhotosAPI_Client/photosapi_client/errors.py index 426f8a2..8a10249 100644 --- a/PhotosAPI_Client/photosapi_client/errors.py +++ b/PhotosAPI_Client/photosapi_client/errors.py @@ -8,7 +8,9 @@ class UnexpectedStatus(Exception): self.status_code = status_code self.content = content - super().__init__(f"Unexpected status code: {status_code}") + super().__init__( + f"Unexpected status code: {status_code}\n\nResponse content:\n{content.decode(errors='ignore')}" + ) __all__ = ["UnexpectedStatus"] diff --git a/PhotosAPI_Client/photosapi_client/models/album.py b/PhotosAPI_Client/photosapi_client/models/album.py index 8dfb304..7b54b65 100644 --- a/PhotosAPI_Client/photosapi_client/models/album.py +++ b/PhotosAPI_Client/photosapi_client/models/album.py @@ -1,11 +1,12 @@ from typing import Any, Dict, List, Type, TypeVar -import attr +from attrs import define as _attrs_define +from attrs import field as _attrs_field T = TypeVar("T", bound="Album") -@attr.s(auto_attribs=True) +@_attrs_define class Album: """ Attributes: @@ -17,11 +18,13 @@ class Album: id: str name: str title: str - additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict) + additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict) def to_dict(self) -> Dict[str, Any]: id = self.id + name = self.name + title = self.title field_dict: Dict[str, Any] = {} diff --git a/PhotosAPI_Client/photosapi_client/models/album_modified.py b/PhotosAPI_Client/photosapi_client/models/album_modified.py index 1c3a712..2bd656d 100644 --- a/PhotosAPI_Client/photosapi_client/models/album_modified.py +++ b/PhotosAPI_Client/photosapi_client/models/album_modified.py @@ -1,29 +1,31 @@ -from typing import Any, Dict, List, Type, TypeVar, Union +from typing import Any, Dict, List, Type, TypeVar, Union, cast -import attr - -from ..types import UNSET, Unset +from attrs import define as _attrs_define +from attrs import field as _attrs_field T = TypeVar("T", bound="AlbumModified") -@attr.s(auto_attribs=True) +@_attrs_define class AlbumModified: """ Attributes: name (str): title (str): - cover (Union[Unset, str]): + cover (Union[None, str]): """ name: str title: str - cover: Union[Unset, str] = UNSET - additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict) + cover: Union[None, str] + additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict) def to_dict(self) -> Dict[str, Any]: name = self.name + title = self.title + + cover: Union[None, str] cover = self.cover field_dict: Dict[str, Any] = {} @@ -32,10 +34,9 @@ class AlbumModified: { "name": name, "title": title, + "cover": cover, } ) - if cover is not UNSET: - field_dict["cover"] = cover return field_dict @@ -46,7 +47,12 @@ class AlbumModified: title = d.pop("title") - cover = d.pop("cover", UNSET) + def _parse_cover(data: object) -> Union[None, str]: + if data is None: + return data + return cast(Union[None, str], data) + + cover = _parse_cover(d.pop("cover")) album_modified = cls( name=name, diff --git a/PhotosAPI_Client/photosapi_client/models/body_login_for_access_token_token_post.py b/PhotosAPI_Client/photosapi_client/models/body_login_for_access_token_token_post.py index 8d594d2..d5549a2 100644 --- a/PhotosAPI_Client/photosapi_client/models/body_login_for_access_token_token_post.py +++ b/PhotosAPI_Client/photosapi_client/models/body_login_for_access_token_token_post.py @@ -1,39 +1,57 @@ -from typing import Any, Dict, List, Type, TypeVar, Union +from typing import Any, Dict, List, Type, TypeVar, Union, cast -import attr +from attrs import define as _attrs_define +from attrs import field as _attrs_field from ..types import UNSET, Unset T = TypeVar("T", bound="BodyLoginForAccessTokenTokenPost") -@attr.s(auto_attribs=True) +@_attrs_define class BodyLoginForAccessTokenTokenPost: """ Attributes: username (str): password (str): - grant_type (Union[Unset, str]): + grant_type (Union[None, Unset, str]): scope (Union[Unset, str]): Default: ''. - client_id (Union[Unset, str]): - client_secret (Union[Unset, str]): + client_id (Union[None, Unset, str]): + client_secret (Union[None, Unset, str]): """ username: str password: str - grant_type: Union[Unset, str] = UNSET + grant_type: Union[None, Unset, str] = UNSET scope: Union[Unset, str] = "" - client_id: Union[Unset, str] = UNSET - client_secret: Union[Unset, str] = UNSET - additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict) + client_id: Union[None, Unset, str] = UNSET + client_secret: Union[None, Unset, str] = UNSET + additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict) def to_dict(self) -> Dict[str, Any]: username = self.username + password = self.password - grant_type = self.grant_type + + grant_type: Union[None, Unset, str] + if isinstance(self.grant_type, Unset): + grant_type = UNSET + else: + grant_type = self.grant_type + scope = self.scope - client_id = self.client_id - client_secret = self.client_secret + + client_id: Union[None, Unset, str] + if isinstance(self.client_id, Unset): + client_id = UNSET + else: + client_id = self.client_id + + client_secret: Union[None, Unset, str] + if isinstance(self.client_secret, Unset): + client_secret = UNSET + else: + client_secret = self.client_secret field_dict: Dict[str, Any] = {} field_dict.update(self.additional_properties) @@ -61,13 +79,34 @@ class BodyLoginForAccessTokenTokenPost: password = d.pop("password") - grant_type = d.pop("grant_type", UNSET) + def _parse_grant_type(data: object) -> Union[None, Unset, str]: + if data is None: + return data + if isinstance(data, Unset): + return data + return cast(Union[None, Unset, str], data) + + grant_type = _parse_grant_type(d.pop("grant_type", UNSET)) scope = d.pop("scope", UNSET) - client_id = d.pop("client_id", UNSET) + def _parse_client_id(data: object) -> Union[None, Unset, str]: + if data is None: + return data + if isinstance(data, Unset): + return data + return cast(Union[None, Unset, str], data) - client_secret = d.pop("client_secret", UNSET) + client_id = _parse_client_id(d.pop("client_id", UNSET)) + + def _parse_client_secret(data: object) -> Union[None, Unset, str]: + if data is None: + return data + if isinstance(data, Unset): + return data + return cast(Union[None, Unset, str], data) + + client_secret = _parse_client_secret(d.pop("client_secret", UNSET)) body_login_for_access_token_token_post = cls( username=username, diff --git a/PhotosAPI_Client/photosapi_client/models/body_photo_upload_albums_album_photos_post.py b/PhotosAPI_Client/photosapi_client/models/body_photo_upload_albums_album_photos_post.py index d851377..c6ddd8a 100644 --- a/PhotosAPI_Client/photosapi_client/models/body_photo_upload_albums_album_photos_post.py +++ b/PhotosAPI_Client/photosapi_client/models/body_photo_upload_albums_album_photos_post.py @@ -1,14 +1,15 @@ from io import BytesIO from typing import Any, Dict, List, Type, TypeVar -import attr +from attrs import define as _attrs_define +from attrs import field as _attrs_field from ..types import File T = TypeVar("T", bound="BodyPhotoUploadAlbumsAlbumPhotosPost") -@attr.s(auto_attribs=True) +@_attrs_define class BodyPhotoUploadAlbumsAlbumPhotosPost: """ Attributes: @@ -16,7 +17,7 @@ class BodyPhotoUploadAlbumsAlbumPhotosPost: """ file: File - additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict) + additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict) def to_dict(self) -> Dict[str, Any]: file = self.file.to_tuple() diff --git a/PhotosAPI_Client/photosapi_client/models/body_user_create_users_post.py b/PhotosAPI_Client/photosapi_client/models/body_user_create_users_post.py index 4d1e745..958b86a 100644 --- a/PhotosAPI_Client/photosapi_client/models/body_user_create_users_post.py +++ b/PhotosAPI_Client/photosapi_client/models/body_user_create_users_post.py @@ -1,11 +1,12 @@ from typing import Any, Dict, List, Type, TypeVar -import attr +from attrs import define as _attrs_define +from attrs import field as _attrs_field T = TypeVar("T", bound="BodyUserCreateUsersPost") -@attr.s(auto_attribs=True) +@_attrs_define class BodyUserCreateUsersPost: """ Attributes: @@ -17,11 +18,13 @@ class BodyUserCreateUsersPost: user: str email: str password: str - additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict) + additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict) def to_dict(self) -> Dict[str, Any]: user = self.user + email = self.email + password = self.password field_dict: Dict[str, Any] = {} diff --git a/PhotosAPI_Client/photosapi_client/models/body_user_delete_users_me_delete.py b/PhotosAPI_Client/photosapi_client/models/body_user_delete_users_me_delete.py index a44d34f..efd285f 100644 --- a/PhotosAPI_Client/photosapi_client/models/body_user_delete_users_me_delete.py +++ b/PhotosAPI_Client/photosapi_client/models/body_user_delete_users_me_delete.py @@ -1,11 +1,12 @@ from typing import Any, Dict, List, Type, TypeVar -import attr +from attrs import define as _attrs_define +from attrs import field as _attrs_field T = TypeVar("T", bound="BodyUserDeleteUsersMeDelete") -@attr.s(auto_attribs=True) +@_attrs_define class BodyUserDeleteUsersMeDelete: """ Attributes: @@ -13,7 +14,7 @@ class BodyUserDeleteUsersMeDelete: """ password: str - additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict) + additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict) def to_dict(self) -> Dict[str, Any]: password = self.password diff --git a/PhotosAPI_Client/photosapi_client/models/body_video_upload_albums_album_videos_post.py b/PhotosAPI_Client/photosapi_client/models/body_video_upload_albums_album_videos_post.py index 19e8e40..be220f5 100644 --- a/PhotosAPI_Client/photosapi_client/models/body_video_upload_albums_album_videos_post.py +++ b/PhotosAPI_Client/photosapi_client/models/body_video_upload_albums_album_videos_post.py @@ -1,14 +1,15 @@ from io import BytesIO from typing import Any, Dict, List, Type, TypeVar -import attr +from attrs import define as _attrs_define +from attrs import field as _attrs_field from ..types import File T = TypeVar("T", bound="BodyVideoUploadAlbumsAlbumVideosPost") -@attr.s(auto_attribs=True) +@_attrs_define class BodyVideoUploadAlbumsAlbumVideosPost: """ Attributes: @@ -16,7 +17,7 @@ class BodyVideoUploadAlbumsAlbumVideosPost: """ file: File - additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict) + additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict) def to_dict(self) -> Dict[str, Any]: file = self.file.to_tuple() diff --git a/PhotosAPI_Client/photosapi_client/models/http_validation_error.py b/PhotosAPI_Client/photosapi_client/models/http_validation_error.py index 1fc5edf..dd5f086 100644 --- a/PhotosAPI_Client/photosapi_client/models/http_validation_error.py +++ b/PhotosAPI_Client/photosapi_client/models/http_validation_error.py @@ -1,6 +1,7 @@ from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union -import attr +from attrs import define as _attrs_define +from attrs import field as _attrs_field from ..types import UNSET, Unset @@ -11,7 +12,7 @@ if TYPE_CHECKING: T = TypeVar("T", bound="HTTPValidationError") -@attr.s(auto_attribs=True) +@_attrs_define class HTTPValidationError: """ Attributes: @@ -19,7 +20,7 @@ class HTTPValidationError: """ detail: Union[Unset, List["ValidationError"]] = UNSET - additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict) + additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict) def to_dict(self) -> Dict[str, Any]: detail: Union[Unset, List[Dict[str, Any]]] = UNSET @@ -27,7 +28,6 @@ class HTTPValidationError: detail = [] for detail_item_data in self.detail: detail_item = detail_item_data.to_dict() - detail.append(detail_item) field_dict: Dict[str, Any] = {} diff --git a/PhotosAPI_Client/photosapi_client/models/photo.py b/PhotosAPI_Client/photosapi_client/models/photo.py index d1f2fbd..2a7a512 100644 --- a/PhotosAPI_Client/photosapi_client/models/photo.py +++ b/PhotosAPI_Client/photosapi_client/models/photo.py @@ -1,11 +1,12 @@ from typing import Any, Dict, List, Type, TypeVar -import attr +from attrs import define as _attrs_define +from attrs import field as _attrs_field T = TypeVar("T", bound="Photo") -@attr.s(auto_attribs=True) +@_attrs_define class Photo: """ Attributes: @@ -19,12 +20,15 @@ class Photo: album: str hash_: str filename: str - additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict) + additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict) def to_dict(self) -> Dict[str, Any]: id = self.id + album = self.album + hash_ = self.hash_ + filename = self.filename field_dict: Dict[str, Any] = {} diff --git a/PhotosAPI_Client/photosapi_client/models/photo_public.py b/PhotosAPI_Client/photosapi_client/models/photo_public.py index 127d102..50258fc 100644 --- a/PhotosAPI_Client/photosapi_client/models/photo_public.py +++ b/PhotosAPI_Client/photosapi_client/models/photo_public.py @@ -1,11 +1,12 @@ from typing import Any, Dict, List, Type, TypeVar -import attr +from attrs import define as _attrs_define +from attrs import field as _attrs_field T = TypeVar("T", bound="PhotoPublic") -@attr.s(auto_attribs=True) +@_attrs_define class PhotoPublic: """ Attributes: @@ -17,11 +18,13 @@ class PhotoPublic: id: str caption: str filename: str - additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict) + additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict) def to_dict(self) -> Dict[str, Any]: id = self.id + caption = self.caption + filename = self.filename field_dict: Dict[str, Any] = {} diff --git a/PhotosAPI_Client/photosapi_client/models/photo_search.py b/PhotosAPI_Client/photosapi_client/models/photo_search.py index 634ef92..26e709a 100644 --- a/PhotosAPI_Client/photosapi_client/models/photo_search.py +++ b/PhotosAPI_Client/photosapi_client/models/photo_search.py @@ -1,29 +1,31 @@ -from typing import Any, Dict, List, Type, TypeVar, Union +from typing import Any, Dict, List, Type, TypeVar, Union, cast -import attr - -from ..types import UNSET, Unset +from attrs import define as _attrs_define +from attrs import field as _attrs_field T = TypeVar("T", bound="PhotoSearch") -@attr.s(auto_attribs=True) +@_attrs_define class PhotoSearch: """ Attributes: id (str): filename (str): - caption (Union[Unset, str]): + caption (Union[None, str]): """ id: str filename: str - caption: Union[Unset, str] = UNSET - additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict) + caption: Union[None, str] + additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict) def to_dict(self) -> Dict[str, Any]: id = self.id + filename = self.filename + + caption: Union[None, str] caption = self.caption field_dict: Dict[str, Any] = {} @@ -32,10 +34,9 @@ class PhotoSearch: { "id": id, "filename": filename, + "caption": caption, } ) - if caption is not UNSET: - field_dict["caption"] = caption return field_dict @@ -46,7 +47,12 @@ class PhotoSearch: filename = d.pop("filename") - caption = d.pop("caption", UNSET) + def _parse_caption(data: object) -> Union[None, str]: + if data is None: + return data + return cast(Union[None, str], data) + + caption = _parse_caption(d.pop("caption")) photo_search = cls( id=id, diff --git a/PhotosAPI_Client/photosapi_client/models/random_search_results_photo.py b/PhotosAPI_Client/photosapi_client/models/random_search_results_photo.py index 874579e..5c24196 100644 --- a/PhotosAPI_Client/photosapi_client/models/random_search_results_photo.py +++ b/PhotosAPI_Client/photosapi_client/models/random_search_results_photo.py @@ -1,6 +1,7 @@ from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar -import attr +from attrs import define as _attrs_define +from attrs import field as _attrs_field if TYPE_CHECKING: from ..models.photo_search import PhotoSearch @@ -9,7 +10,7 @@ if TYPE_CHECKING: T = TypeVar("T", bound="RandomSearchResultsPhoto") -@attr.s(auto_attribs=True) +@_attrs_define class RandomSearchResultsPhoto: """ Attributes: @@ -17,13 +18,12 @@ class RandomSearchResultsPhoto: """ results: List["PhotoSearch"] - additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict) + additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict) def to_dict(self) -> Dict[str, Any]: results = [] for results_item_data in self.results: results_item = results_item_data.to_dict() - results.append(results_item) field_dict: Dict[str, Any] = {} diff --git a/PhotosAPI_Client/photosapi_client/models/random_search_results_video.py b/PhotosAPI_Client/photosapi_client/models/random_search_results_video.py index 91045fd..2e2028a 100644 --- a/PhotosAPI_Client/photosapi_client/models/random_search_results_video.py +++ b/PhotosAPI_Client/photosapi_client/models/random_search_results_video.py @@ -1,6 +1,7 @@ from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar -import attr +from attrs import define as _attrs_define +from attrs import field as _attrs_field if TYPE_CHECKING: from ..models.video_search import VideoSearch @@ -9,7 +10,7 @@ if TYPE_CHECKING: T = TypeVar("T", bound="RandomSearchResultsVideo") -@attr.s(auto_attribs=True) +@_attrs_define class RandomSearchResultsVideo: """ Attributes: @@ -17,13 +18,12 @@ class RandomSearchResultsVideo: """ results: List["VideoSearch"] - additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict) + additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict) def to_dict(self) -> Dict[str, Any]: results = [] for results_item_data in self.results: results_item = results_item_data.to_dict() - results.append(results_item) field_dict: Dict[str, Any] = {} diff --git a/PhotosAPI_Client/photosapi_client/models/search_results_album.py b/PhotosAPI_Client/photosapi_client/models/search_results_album.py index e087729..8e133ce 100644 --- a/PhotosAPI_Client/photosapi_client/models/search_results_album.py +++ b/PhotosAPI_Client/photosapi_client/models/search_results_album.py @@ -1,8 +1,7 @@ -from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union +from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union, cast -import attr - -from ..types import UNSET, Unset +from attrs import define as _attrs_define +from attrs import field as _attrs_field if TYPE_CHECKING: from ..models.album import Album @@ -11,25 +10,25 @@ if TYPE_CHECKING: T = TypeVar("T", bound="SearchResultsAlbum") -@attr.s(auto_attribs=True) +@_attrs_define class SearchResultsAlbum: """ Attributes: results (List['Album']): - next_page (Union[Unset, str]): + next_page (Union[None, str]): """ results: List["Album"] - next_page: Union[Unset, str] = UNSET - additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict) + next_page: Union[None, str] + additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict) def to_dict(self) -> Dict[str, Any]: results = [] for results_item_data in self.results: results_item = results_item_data.to_dict() - results.append(results_item) + next_page: Union[None, str] next_page = self.next_page field_dict: Dict[str, Any] = {} @@ -37,10 +36,9 @@ class SearchResultsAlbum: field_dict.update( { "results": results, + "next_page": next_page, } ) - if next_page is not UNSET: - field_dict["next_page"] = next_page return field_dict @@ -56,7 +54,12 @@ class SearchResultsAlbum: results.append(results_item) - next_page = d.pop("next_page", UNSET) + def _parse_next_page(data: object) -> Union[None, str]: + if data is None: + return data + return cast(Union[None, str], data) + + next_page = _parse_next_page(d.pop("next_page")) search_results_album = cls( results=results, diff --git a/PhotosAPI_Client/photosapi_client/models/search_results_photo.py b/PhotosAPI_Client/photosapi_client/models/search_results_photo.py index 022c910..03b0dd9 100644 --- a/PhotosAPI_Client/photosapi_client/models/search_results_photo.py +++ b/PhotosAPI_Client/photosapi_client/models/search_results_photo.py @@ -1,8 +1,7 @@ -from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union +from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union, cast -import attr - -from ..types import UNSET, Unset +from attrs import define as _attrs_define +from attrs import field as _attrs_field if TYPE_CHECKING: from ..models.photo_search import PhotoSearch @@ -11,25 +10,25 @@ if TYPE_CHECKING: T = TypeVar("T", bound="SearchResultsPhoto") -@attr.s(auto_attribs=True) +@_attrs_define class SearchResultsPhoto: """ Attributes: results (List['PhotoSearch']): - next_page (Union[Unset, str]): + next_page (Union[None, str]): """ results: List["PhotoSearch"] - next_page: Union[Unset, str] = UNSET - additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict) + next_page: Union[None, str] + additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict) def to_dict(self) -> Dict[str, Any]: results = [] for results_item_data in self.results: results_item = results_item_data.to_dict() - results.append(results_item) + next_page: Union[None, str] next_page = self.next_page field_dict: Dict[str, Any] = {} @@ -37,10 +36,9 @@ class SearchResultsPhoto: field_dict.update( { "results": results, + "next_page": next_page, } ) - if next_page is not UNSET: - field_dict["next_page"] = next_page return field_dict @@ -56,7 +54,12 @@ class SearchResultsPhoto: results.append(results_item) - next_page = d.pop("next_page", UNSET) + def _parse_next_page(data: object) -> Union[None, str]: + if data is None: + return data + return cast(Union[None, str], data) + + next_page = _parse_next_page(d.pop("next_page")) search_results_photo = cls( results=results, diff --git a/PhotosAPI_Client/photosapi_client/models/search_results_video.py b/PhotosAPI_Client/photosapi_client/models/search_results_video.py index 56d3a16..abd8bad 100644 --- a/PhotosAPI_Client/photosapi_client/models/search_results_video.py +++ b/PhotosAPI_Client/photosapi_client/models/search_results_video.py @@ -1,8 +1,7 @@ -from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union +from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union, cast -import attr - -from ..types import UNSET, Unset +from attrs import define as _attrs_define +from attrs import field as _attrs_field if TYPE_CHECKING: from ..models.video_search import VideoSearch @@ -11,25 +10,25 @@ if TYPE_CHECKING: T = TypeVar("T", bound="SearchResultsVideo") -@attr.s(auto_attribs=True) +@_attrs_define class SearchResultsVideo: """ Attributes: results (List['VideoSearch']): - next_page (Union[Unset, str]): + next_page (Union[None, str]): """ results: List["VideoSearch"] - next_page: Union[Unset, str] = UNSET - additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict) + next_page: Union[None, str] + additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict) def to_dict(self) -> Dict[str, Any]: results = [] for results_item_data in self.results: results_item = results_item_data.to_dict() - results.append(results_item) + next_page: Union[None, str] next_page = self.next_page field_dict: Dict[str, Any] = {} @@ -37,10 +36,9 @@ class SearchResultsVideo: field_dict.update( { "results": results, + "next_page": next_page, } ) - if next_page is not UNSET: - field_dict["next_page"] = next_page return field_dict @@ -56,7 +54,12 @@ class SearchResultsVideo: results.append(results_item) - next_page = d.pop("next_page", UNSET) + def _parse_next_page(data: object) -> Union[None, str]: + if data is None: + return data + return cast(Union[None, str], data) + + next_page = _parse_next_page(d.pop("next_page")) search_results_video = cls( results=results, diff --git a/PhotosAPI_Client/photosapi_client/models/token.py b/PhotosAPI_Client/photosapi_client/models/token.py index faad4ef..4af1a4b 100644 --- a/PhotosAPI_Client/photosapi_client/models/token.py +++ b/PhotosAPI_Client/photosapi_client/models/token.py @@ -1,11 +1,12 @@ from typing import Any, Dict, List, Type, TypeVar -import attr +from attrs import define as _attrs_define +from attrs import field as _attrs_field T = TypeVar("T", bound="Token") -@attr.s(auto_attribs=True) +@_attrs_define class Token: """ Attributes: @@ -15,10 +16,11 @@ class Token: access_token: str token_type: str - additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict) + additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict) def to_dict(self) -> Dict[str, Any]: access_token = self.access_token + token_type = self.token_type field_dict: Dict[str, Any] = {} diff --git a/PhotosAPI_Client/photosapi_client/models/user.py b/PhotosAPI_Client/photosapi_client/models/user.py index a899f62..4e07748 100644 --- a/PhotosAPI_Client/photosapi_client/models/user.py +++ b/PhotosAPI_Client/photosapi_client/models/user.py @@ -1,29 +1,37 @@ -from typing import Any, Dict, List, Type, TypeVar, Union +from typing import Any, Dict, List, Type, TypeVar, Union, cast -import attr - -from ..types import UNSET, Unset +from attrs import define as _attrs_define +from attrs import field as _attrs_field T = TypeVar("T", bound="User") -@attr.s(auto_attribs=True) +@_attrs_define class User: """ Attributes: user (str): - email (Union[Unset, str]): - disabled (Union[Unset, bool]): + email (Union[None, str]): + quota (Union[None, int]): + disabled (Union[None, bool]): """ user: str - email: Union[Unset, str] = UNSET - disabled: Union[Unset, bool] = UNSET - additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict) + email: Union[None, str] + quota: Union[None, int] + disabled: Union[None, bool] + additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict) def to_dict(self) -> Dict[str, Any]: user = self.user + + email: Union[None, str] email = self.email + + quota: Union[None, int] + quota = self.quota + + disabled: Union[None, bool] disabled = self.disabled field_dict: Dict[str, Any] = {} @@ -31,12 +39,11 @@ class User: field_dict.update( { "user": user, + "email": email, + "quota": quota, + "disabled": disabled, } ) - if email is not UNSET: - field_dict["email"] = email - if disabled is not UNSET: - field_dict["disabled"] = disabled return field_dict @@ -45,13 +52,31 @@ class User: d = src_dict.copy() user = d.pop("user") - email = d.pop("email", UNSET) + def _parse_email(data: object) -> Union[None, str]: + if data is None: + return data + return cast(Union[None, str], data) - disabled = d.pop("disabled", UNSET) + email = _parse_email(d.pop("email")) + + def _parse_quota(data: object) -> Union[None, int]: + if data is None: + return data + return cast(Union[None, int], data) + + quota = _parse_quota(d.pop("quota")) + + def _parse_disabled(data: object) -> Union[None, bool]: + if data is None: + return data + return cast(Union[None, bool], data) + + disabled = _parse_disabled(d.pop("disabled")) user = cls( user=user, email=email, + quota=quota, disabled=disabled, ) diff --git a/PhotosAPI_Client/photosapi_client/models/validation_error.py b/PhotosAPI_Client/photosapi_client/models/validation_error.py index 238a2b3..5c6b181 100644 --- a/PhotosAPI_Client/photosapi_client/models/validation_error.py +++ b/PhotosAPI_Client/photosapi_client/models/validation_error.py @@ -1,11 +1,12 @@ from typing import Any, Dict, List, Type, TypeVar, Union, cast -import attr +from attrs import define as _attrs_define +from attrs import field as _attrs_field T = TypeVar("T", bound="ValidationError") -@attr.s(auto_attribs=True) +@_attrs_define class ValidationError: """ Attributes: @@ -17,18 +18,17 @@ class ValidationError: loc: List[Union[int, str]] msg: str type: str - additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict) + additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict) def to_dict(self) -> Dict[str, Any]: loc = [] for loc_item_data in self.loc: loc_item: Union[int, str] - loc_item = loc_item_data - loc.append(loc_item) msg = self.msg + type = self.type field_dict: Dict[str, Any] = {} diff --git a/PhotosAPI_Client/photosapi_client/models/video.py b/PhotosAPI_Client/photosapi_client/models/video.py index 9f961f6..ac538b2 100644 --- a/PhotosAPI_Client/photosapi_client/models/video.py +++ b/PhotosAPI_Client/photosapi_client/models/video.py @@ -1,11 +1,12 @@ from typing import Any, Dict, List, Type, TypeVar -import attr +from attrs import define as _attrs_define +from attrs import field as _attrs_field T = TypeVar("T", bound="Video") -@attr.s(auto_attribs=True) +@_attrs_define class Video: """ Attributes: @@ -19,12 +20,15 @@ class Video: album: str hash_: str filename: str - additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict) + additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict) def to_dict(self) -> Dict[str, Any]: id = self.id + album = self.album + hash_ = self.hash_ + filename = self.filename field_dict: Dict[str, Any] = {} diff --git a/PhotosAPI_Client/photosapi_client/models/video_public.py b/PhotosAPI_Client/photosapi_client/models/video_public.py index 27d7d09..d3ee35c 100644 --- a/PhotosAPI_Client/photosapi_client/models/video_public.py +++ b/PhotosAPI_Client/photosapi_client/models/video_public.py @@ -1,11 +1,12 @@ from typing import Any, Dict, List, Type, TypeVar -import attr +from attrs import define as _attrs_define +from attrs import field as _attrs_field T = TypeVar("T", bound="VideoPublic") -@attr.s(auto_attribs=True) +@_attrs_define class VideoPublic: """ Attributes: @@ -17,11 +18,13 @@ class VideoPublic: id: str caption: str filename: str - additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict) + additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict) def to_dict(self) -> Dict[str, Any]: id = self.id + caption = self.caption + filename = self.filename field_dict: Dict[str, Any] = {} diff --git a/PhotosAPI_Client/photosapi_client/models/video_search.py b/PhotosAPI_Client/photosapi_client/models/video_search.py index 6fc1861..aa78ced 100644 --- a/PhotosAPI_Client/photosapi_client/models/video_search.py +++ b/PhotosAPI_Client/photosapi_client/models/video_search.py @@ -1,29 +1,31 @@ -from typing import Any, Dict, List, Type, TypeVar, Union +from typing import Any, Dict, List, Type, TypeVar, Union, cast -import attr - -from ..types import UNSET, Unset +from attrs import define as _attrs_define +from attrs import field as _attrs_field T = TypeVar("T", bound="VideoSearch") -@attr.s(auto_attribs=True) +@_attrs_define class VideoSearch: """ Attributes: id (str): filename (str): - caption (Union[Unset, str]): + caption (Union[None, str]): """ id: str filename: str - caption: Union[Unset, str] = UNSET - additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict) + caption: Union[None, str] + additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict) def to_dict(self) -> Dict[str, Any]: id = self.id + filename = self.filename + + caption: Union[None, str] caption = self.caption field_dict: Dict[str, Any] = {} @@ -32,10 +34,9 @@ class VideoSearch: { "id": id, "filename": filename, + "caption": caption, } ) - if caption is not UNSET: - field_dict["caption"] = caption return field_dict @@ -46,7 +47,12 @@ class VideoSearch: filename = d.pop("filename") - caption = d.pop("caption", UNSET) + def _parse_caption(data: object) -> Union[None, str]: + if data is None: + return data + return cast(Union[None, str], data) + + caption = _parse_caption(d.pop("caption")) video_search = cls( id=id, diff --git a/PhotosAPI_Client/photosapi_client/types.py b/PhotosAPI_Client/photosapi_client/types.py index 599eeb9..e0d6708 100644 --- a/PhotosAPI_Client/photosapi_client/types.py +++ b/PhotosAPI_Client/photosapi_client/types.py @@ -1,8 +1,9 @@ """ Contains some shared types for properties """ + from http import HTTPStatus from typing import BinaryIO, Generic, Literal, MutableMapping, Optional, Tuple, TypeVar -import attr +from attrs import define class Unset: @@ -15,7 +16,7 @@ UNSET: Unset = Unset() FileJsonType = Tuple[Optional[str], BinaryIO, Optional[str]] -@attr.s(auto_attribs=True) +@define class File: """Contains information for file uploads""" @@ -31,7 +32,7 @@ class File: T = TypeVar("T") -@attr.s(auto_attribs=True) +@define class Response(Generic[T]): """A response from an endpoint""" @@ -41,4 +42,4 @@ class Response(Generic[T]): parsed: Optional[T] -__all__ = ["File", "Response", "FileJsonType"] +__all__ = ["File", "Response", "FileJsonType", "Unset", "UNSET"] diff --git a/PhotosAPI_Client/setup.py b/PhotosAPI_Client/setup.py index f16fa2f..672ec90 100644 --- a/PhotosAPI_Client/setup.py +++ b/PhotosAPI_Client/setup.py @@ -7,7 +7,7 @@ long_description = (here / "README.md").read_text(encoding="utf-8") setup( name="PhotosAPI_Client", - version="0.5.0", + version="0.6.0", description="A client library for accessing Photos API", long_description=long_description, long_description_content_type="text/markdown", diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..678a485 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,5 @@ +autoflake~=2.3.0 +black~=24.2.0 +build~=1.1.1 +isort~=5.13.2 +openapi-python-client==0.19.0 \ No newline at end of file