Compare commits

..

11 Commits
v0.1 ... master

Author SHA1 Message Date
a1c41cbd17
Improved MD compliance 2023-11-25 20:20:15 +01:00
a4f6bb2a25
Updated to PhotosAPI v0.5.0 2023-06-27 14:03:49 +02:00
c05c588768
Updated post-hooks 2023-06-23 13:09:43 +02:00
6d4b848568
Updated specs to API version 0.4 2023-06-22 14:46:58 +02:00
d643fde917
Updated to PhotosAPI v3.0 2023-06-22 14:38:42 +02:00
19b6cb7496
Added generator config 2023-06-22 14:37:49 +02:00
37fb483ddf Slightly changed README 2023-03-23 12:51:10 +01:00
dc55b70536 Updated to API version 0.2 2023-03-23 12:44:02 +01:00
c88eab236b Bump to version 0.1.1 2023-03-22 22:04:56 +01:00
f661f86533 Changed API project name 2023-03-22 22:04:25 +01:00
18b5b998a8 Updated ignore 2023-03-22 19:43:23 +01:00
60 changed files with 779 additions and 116 deletions

1
.gitignore vendored
View File

@ -21,3 +21,4 @@ dmypy.json
/coverage.xml /coverage.xml
/.coverage /.coverage
.vscode

View File

@ -1,11 +1,13 @@
# PhotosAPI_Client # PhotosAPI_Client
A client library for accessing END PLAY Photos
A client library for accessing Photos API
## Usage ## Usage
First, create a client: First, create a client:
```python ```python
from PhotosAPI_Client import Client from photosapi_client import Client
client = Client(base_url="https://api.example.com") client = Client(base_url="https://api.example.com")
``` ```
@ -13,7 +15,7 @@ client = Client(base_url="https://api.example.com")
If the endpoints you're going to hit require authentication, use `AuthenticatedClient` instead: If the endpoints you're going to hit require authentication, use `AuthenticatedClient` instead:
```python ```python
from PhotosAPI_Client import AuthenticatedClient from photosapi_client import AuthenticatedClient
client = AuthenticatedClient(base_url="https://api.example.com", token="SuperSecretToken") client = AuthenticatedClient(base_url="https://api.example.com", token="SuperSecretToken")
``` ```
@ -21,9 +23,9 @@ client = AuthenticatedClient(base_url="https://api.example.com", token="SuperSec
Now call your endpoint and use your models: Now call your endpoint and use your models:
```python ```python
from PhotosAPI_Client.models import MyDataModel from photosapi_client.models import MyDataModel
from PhotosAPI_Client.api.my_tag import get_my_data_model from photosapi_client.api.my_tag import get_my_data_model
from PhotosAPI_Client.types import Response from photosapi_client.types import Response
my_data: MyDataModel = get_my_data_model.sync(client=client) my_data: MyDataModel = get_my_data_model.sync(client=client)
# or if you need more info (e.g. status_code) # or if you need more info (e.g. status_code)
@ -33,9 +35,9 @@ response: Response[MyDataModel] = get_my_data_model.sync_detailed(client=client)
Or do the same thing with an async version: Or do the same thing with an async version:
```python ```python
from PhotosAPI_Client.models import MyDataModel from photosapi_client.models import MyDataModel
from PhotosAPI_Client.api.my_tag import get_my_data_model from photosapi_client.api.my_tag import get_my_data_model
from PhotosAPI_Client.types import Response from photosapi_client.types import Response
my_data: MyDataModel = await get_my_data_model.asyncio(client=client) my_data: MyDataModel = await get_my_data_model.asyncio(client=client)
response: Response[MyDataModel] = await get_my_data_model.asyncio_detailed(client=client) response: Response[MyDataModel] = await get_my_data_model.asyncio_detailed(client=client)
@ -64,6 +66,7 @@ client = AuthenticatedClient(
There are more settings on the generated `Client` class which let you control more runtime behavior, check out the docstring on that class for more info. There are more settings on the generated `Client` class which let you control more runtime behavior, check out the docstring on that class for more info.
Things to know: Things to know:
1. Every path/method combo becomes a Python module with four functions: 1. Every path/method combo becomes a Python module with four functions:
1. `sync`: Blocking request that returns parsed data (if successful) or `None` 1. `sync`: Blocking request that returns parsed data (if successful) or `None`
1. `sync_detailed`: Blocking request that always returns a `Request`, optionally with `parsed` set if the request was successful. 1. `sync_detailed`: Blocking request that always returns a `Request`, optionally with `parsed` set if the request was successful.
@ -72,10 +75,12 @@ Things to know:
1. All path/query params, and bodies become method arguments. 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. 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` 1. Any endpoint which did not have a tag will be in `photosapi_client.api.default`
## Building / publishing this Client ## Building / publishing this Client
This project uses [Poetry](https://python-poetry.org/) to manage dependencies and packaging. Here are the basics: 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. Update the metadata in pyproject.toml (e.g. authors, version)
1. If you're using a private repository, configure it with Poetry 1. If you're using a private repository, configure it with Poetry
1. `poetry config repositories.<your-repository-name> <url-to-your-repository>` 1. `poetry config repositories.<your-repository-name> <url-to-your-repository>`
@ -83,6 +88,7 @@ This project uses [Poetry](https://python-poetry.org/) to manage dependencies a
1. Publish the client with `poetry publish --build -r <your-repository-name>` or, if for public PyPI, just `poetry publish --build` 1. Publish the client with `poetry publish --build -r <your-repository-name>` 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: 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 <path-to-this-client>` from that project 1. If that project **is using Poetry**, you can simply do `poetry add <path-to-this-client>` from that project
1. If that project is not using Poetry: 1. If that project is not using Poetry:
1. Build a wheel with `poetry build -f wheel` 1. Build a wheel with `poetry build -f wheel`

6
config.yaml Normal file
View File

@ -0,0 +1,6 @@
project_name_override: PhotosAPI_Client
package_name_override: photosapi_client
post_hooks:
- "autoflake -i -r --remove-all-unused-imports --remove-unused-variables --ignore-init-module-imports photosapi_client/"
- "isort photosapi_client/"
- "black photosapi_client/"

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -15,6 +15,7 @@ def _get_kwargs(
client: AuthenticatedClient, client: AuthenticatedClient,
q: Union[Unset, None, str] = UNSET, q: Union[Unset, None, str] = UNSET,
caption: Union[Unset, None, str] = UNSET, caption: Union[Unset, None, str] = UNSET,
token: Union[Unset, None, str] = UNSET,
page: Union[Unset, None, int] = 1, page: Union[Unset, None, int] = 1,
page_size: Union[Unset, None, int] = 100, page_size: Union[Unset, None, int] = 100,
lat: Union[Unset, None, float] = UNSET, lat: Union[Unset, None, float] = UNSET,
@ -31,6 +32,8 @@ def _get_kwargs(
params["caption"] = caption params["caption"] = caption
params["token"] = token
params["page"] = page params["page"] = page
params["page_size"] = page_size params["page_size"] = page_size
@ -49,6 +52,7 @@ def _get_kwargs(
"headers": headers, "headers": headers,
"cookies": cookies, "cookies": cookies,
"timeout": client.get_timeout(), "timeout": client.get_timeout(),
"follow_redirects": client.follow_redirects,
"params": params, "params": params,
} }
@ -61,6 +65,9 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni
if response.status_code == HTTPStatus.BAD_REQUEST: if response.status_code == HTTPStatus.BAD_REQUEST:
response_400 = cast(Any, None) response_400 = cast(Any, None)
return response_400 return response_400
if response.status_code == HTTPStatus.UNAUTHORIZED:
response_401 = cast(Any, None)
return response_401
if response.status_code == HTTPStatus.NOT_FOUND: if response.status_code == HTTPStatus.NOT_FOUND:
response_404 = cast(Any, None) response_404 = cast(Any, None)
return response_404 return response_404
@ -68,7 +75,7 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni
response_422 = cast(Any, None) response_422 = cast(Any, None)
return response_422 return response_422
if client.raise_on_unexpected_status: if client.raise_on_unexpected_status:
raise errors.UnexpectedStatus(f"Unexpected status code: {response.status_code}") raise errors.UnexpectedStatus(response.status_code, response.content)
else: else:
return None return None
@ -88,6 +95,7 @@ def sync_detailed(
client: AuthenticatedClient, client: AuthenticatedClient,
q: Union[Unset, None, str] = UNSET, q: Union[Unset, None, str] = UNSET,
caption: Union[Unset, None, str] = UNSET, caption: Union[Unset, None, str] = UNSET,
token: Union[Unset, None, str] = UNSET,
page: Union[Unset, None, int] = 1, page: Union[Unset, None, int] = 1,
page_size: Union[Unset, None, int] = 100, page_size: Union[Unset, None, int] = 100,
lat: Union[Unset, None, float] = UNSET, lat: Union[Unset, None, float] = UNSET,
@ -96,12 +104,13 @@ def sync_detailed(
) -> Response[Union[Any, SearchResultsPhoto]]: ) -> Response[Union[Any, SearchResultsPhoto]]:
"""Photo Find """Photo Find
Find a photo by filename Find a photo by filename, caption, location or token
Args: Args:
album (str): album (str):
q (Union[Unset, None, str]): q (Union[Unset, None, str]):
caption (Union[Unset, None, str]): caption (Union[Unset, None, str]):
token (Union[Unset, None, str]):
page (Union[Unset, None, int]): Default: 1. page (Union[Unset, None, int]): Default: 1.
page_size (Union[Unset, None, int]): Default: 100. page_size (Union[Unset, None, int]): Default: 100.
lat (Union[Unset, None, float]): lat (Union[Unset, None, float]):
@ -121,6 +130,7 @@ def sync_detailed(
client=client, client=client,
q=q, q=q,
caption=caption, caption=caption,
token=token,
page=page, page=page,
page_size=page_size, page_size=page_size,
lat=lat, lat=lat,
@ -142,6 +152,7 @@ def sync(
client: AuthenticatedClient, client: AuthenticatedClient,
q: Union[Unset, None, str] = UNSET, q: Union[Unset, None, str] = UNSET,
caption: Union[Unset, None, str] = UNSET, caption: Union[Unset, None, str] = UNSET,
token: Union[Unset, None, str] = UNSET,
page: Union[Unset, None, int] = 1, page: Union[Unset, None, int] = 1,
page_size: Union[Unset, None, int] = 100, page_size: Union[Unset, None, int] = 100,
lat: Union[Unset, None, float] = UNSET, lat: Union[Unset, None, float] = UNSET,
@ -150,12 +161,13 @@ def sync(
) -> Optional[Union[Any, SearchResultsPhoto]]: ) -> Optional[Union[Any, SearchResultsPhoto]]:
"""Photo Find """Photo Find
Find a photo by filename Find a photo by filename, caption, location or token
Args: Args:
album (str): album (str):
q (Union[Unset, None, str]): q (Union[Unset, None, str]):
caption (Union[Unset, None, str]): caption (Union[Unset, None, str]):
token (Union[Unset, None, str]):
page (Union[Unset, None, int]): Default: 1. page (Union[Unset, None, int]): Default: 1.
page_size (Union[Unset, None, int]): Default: 100. page_size (Union[Unset, None, int]): Default: 100.
lat (Union[Unset, None, float]): lat (Union[Unset, None, float]):
@ -167,7 +179,7 @@ def sync(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, SearchResultsPhoto]] Union[Any, SearchResultsPhoto]
""" """
return sync_detailed( return sync_detailed(
@ -175,6 +187,7 @@ def sync(
client=client, client=client,
q=q, q=q,
caption=caption, caption=caption,
token=token,
page=page, page=page,
page_size=page_size, page_size=page_size,
lat=lat, lat=lat,
@ -189,6 +202,7 @@ async def asyncio_detailed(
client: AuthenticatedClient, client: AuthenticatedClient,
q: Union[Unset, None, str] = UNSET, q: Union[Unset, None, str] = UNSET,
caption: Union[Unset, None, str] = UNSET, caption: Union[Unset, None, str] = UNSET,
token: Union[Unset, None, str] = UNSET,
page: Union[Unset, None, int] = 1, page: Union[Unset, None, int] = 1,
page_size: Union[Unset, None, int] = 100, page_size: Union[Unset, None, int] = 100,
lat: Union[Unset, None, float] = UNSET, lat: Union[Unset, None, float] = UNSET,
@ -197,12 +211,13 @@ async def asyncio_detailed(
) -> Response[Union[Any, SearchResultsPhoto]]: ) -> Response[Union[Any, SearchResultsPhoto]]:
"""Photo Find """Photo Find
Find a photo by filename Find a photo by filename, caption, location or token
Args: Args:
album (str): album (str):
q (Union[Unset, None, str]): q (Union[Unset, None, str]):
caption (Union[Unset, None, str]): caption (Union[Unset, None, str]):
token (Union[Unset, None, str]):
page (Union[Unset, None, int]): Default: 1. page (Union[Unset, None, int]): Default: 1.
page_size (Union[Unset, None, int]): Default: 100. page_size (Union[Unset, None, int]): Default: 100.
lat (Union[Unset, None, float]): lat (Union[Unset, None, float]):
@ -222,6 +237,7 @@ async def asyncio_detailed(
client=client, client=client,
q=q, q=q,
caption=caption, caption=caption,
token=token,
page=page, page=page,
page_size=page_size, page_size=page_size,
lat=lat, lat=lat,
@ -241,6 +257,7 @@ async def asyncio(
client: AuthenticatedClient, client: AuthenticatedClient,
q: Union[Unset, None, str] = UNSET, q: Union[Unset, None, str] = UNSET,
caption: Union[Unset, None, str] = UNSET, caption: Union[Unset, None, str] = UNSET,
token: Union[Unset, None, str] = UNSET,
page: Union[Unset, None, int] = 1, page: Union[Unset, None, int] = 1,
page_size: Union[Unset, None, int] = 100, page_size: Union[Unset, None, int] = 100,
lat: Union[Unset, None, float] = UNSET, lat: Union[Unset, None, float] = UNSET,
@ -249,12 +266,13 @@ async def asyncio(
) -> Optional[Union[Any, SearchResultsPhoto]]: ) -> Optional[Union[Any, SearchResultsPhoto]]:
"""Photo Find """Photo Find
Find a photo by filename Find a photo by filename, caption, location or token
Args: Args:
album (str): album (str):
q (Union[Unset, None, str]): q (Union[Unset, None, str]):
caption (Union[Unset, None, str]): caption (Union[Unset, None, str]):
token (Union[Unset, None, str]):
page (Union[Unset, None, int]): Default: 1. page (Union[Unset, None, int]): Default: 1.
page_size (Union[Unset, None, int]): Default: 100. page_size (Union[Unset, None, int]): Default: 100.
lat (Union[Unset, None, float]): lat (Union[Unset, None, float]):
@ -266,7 +284,7 @@ async def asyncio(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, SearchResultsPhoto]] Union[Any, SearchResultsPhoto]
""" """
return ( return (
@ -275,6 +293,7 @@ async def asyncio(
client=client, client=client,
q=q, q=q,
caption=caption, caption=caption,
token=token,
page=page, page=page,
page_size=page_size, page_size=page_size,
lat=lat, lat=lat,

View File

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

View File

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

View File

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

View File

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

View File

@ -0,0 +1,216 @@
from http import HTTPStatus
from typing import Any, Dict, Optional, Union, cast
import httpx
from ... import errors
from ...client import AuthenticatedClient, Client
from ...models.http_validation_error import HTTPValidationError
from ...models.random_search_results_photo import RandomSearchResultsPhoto
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,
) -> 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
params["limit"] = limit
params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
return {
"method": "get",
"url": url,
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
"follow_redirects": client.follow_redirects,
"params": params,
}
def _parse_response(
*, client: Client, response: httpx.Response
) -> Optional[Union[Any, HTTPValidationError, RandomSearchResultsPhoto]]:
if response.status_code == HTTPStatus.OK:
response_200 = RandomSearchResultsPhoto.from_dict(response.json())
return response_200
if response.status_code == HTTPStatus.BAD_REQUEST:
response_400 = cast(Any, None)
return response_400
if response.status_code == HTTPStatus.NOT_FOUND:
response_404 = cast(Any, None)
return response_404
if response.status_code == HTTPStatus.UNPROCESSABLE_ENTITY:
response_422 = HTTPValidationError.from_dict(response.json())
return response_422
if client.raise_on_unexpected_status:
raise errors.UnexpectedStatus(response.status_code, response.content)
else:
return None
def _build_response(
*, client: Client, response: httpx.Response
) -> Response[Union[Any, HTTPValidationError, RandomSearchResultsPhoto]]:
return Response(
status_code=HTTPStatus(response.status_code),
content=response.content,
headers=response.headers,
parsed=_parse_response(client=client, response=response),
)
def sync_detailed(
album: str,
*,
client: AuthenticatedClient,
caption: Union[Unset, None, str] = UNSET,
limit: Union[Unset, None, int] = 100,
) -> Response[Union[Any, HTTPValidationError, RandomSearchResultsPhoto]]:
"""Photo Random
Get one random photo, optionally by caption
Args:
album (str):
caption (Union[Unset, None, str]):
limit (Union[Unset, None, int]): Default: 100.
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.
Returns:
Response[Union[Any, HTTPValidationError, RandomSearchResultsPhoto]]
"""
kwargs = _get_kwargs(
album=album,
client=client,
caption=caption,
limit=limit,
)
response = httpx.request(
verify=client.verify_ssl,
**kwargs,
)
return _build_response(client=client, response=response)
def sync(
album: str,
*,
client: AuthenticatedClient,
caption: Union[Unset, None, str] = UNSET,
limit: Union[Unset, None, int] = 100,
) -> Optional[Union[Any, HTTPValidationError, RandomSearchResultsPhoto]]:
"""Photo Random
Get one random photo, optionally by caption
Args:
album (str):
caption (Union[Unset, None, str]):
limit (Union[Unset, None, int]): Default: 100.
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.
Returns:
Union[Any, HTTPValidationError, RandomSearchResultsPhoto]
"""
return sync_detailed(
album=album,
client=client,
caption=caption,
limit=limit,
).parsed
async def asyncio_detailed(
album: str,
*,
client: AuthenticatedClient,
caption: Union[Unset, None, str] = UNSET,
limit: Union[Unset, None, int] = 100,
) -> Response[Union[Any, HTTPValidationError, RandomSearchResultsPhoto]]:
"""Photo Random
Get one random photo, optionally by caption
Args:
album (str):
caption (Union[Unset, None, str]):
limit (Union[Unset, None, int]): Default: 100.
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.
Returns:
Response[Union[Any, HTTPValidationError, RandomSearchResultsPhoto]]
"""
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)
return _build_response(client=client, response=response)
async def asyncio(
album: str,
*,
client: AuthenticatedClient,
caption: Union[Unset, None, str] = UNSET,
limit: Union[Unset, None, int] = 100,
) -> Optional[Union[Any, HTTPValidationError, RandomSearchResultsPhoto]]:
"""Photo Random
Get one random photo, optionally by caption
Args:
album (str):
caption (Union[Unset, None, str]):
limit (Union[Unset, None, int]): Default: 100.
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.
Returns:
Union[Any, HTTPValidationError, RandomSearchResultsPhoto]
"""
return (
await asyncio_detailed(
album=album,
client=client,
caption=caption,
limit=limit,
)
).parsed

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -15,6 +15,7 @@ def _get_kwargs(
client: AuthenticatedClient, client: AuthenticatedClient,
q: Union[Unset, None, str] = UNSET, q: Union[Unset, None, str] = UNSET,
caption: Union[Unset, None, str] = UNSET, caption: Union[Unset, None, str] = UNSET,
token: Union[Unset, None, str] = UNSET,
page: Union[Unset, None, int] = 1, page: Union[Unset, None, int] = 1,
page_size: Union[Unset, None, int] = 100, page_size: Union[Unset, None, int] = 100,
) -> Dict[str, Any]: ) -> Dict[str, Any]:
@ -28,6 +29,8 @@ def _get_kwargs(
params["caption"] = caption params["caption"] = caption
params["token"] = token
params["page"] = page params["page"] = page
params["page_size"] = page_size params["page_size"] = page_size
@ -40,6 +43,7 @@ def _get_kwargs(
"headers": headers, "headers": headers,
"cookies": cookies, "cookies": cookies,
"timeout": client.get_timeout(), "timeout": client.get_timeout(),
"follow_redirects": client.follow_redirects,
"params": params, "params": params,
} }
@ -52,6 +56,9 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni
if response.status_code == HTTPStatus.BAD_REQUEST: if response.status_code == HTTPStatus.BAD_REQUEST:
response_400 = cast(Any, None) response_400 = cast(Any, None)
return response_400 return response_400
if response.status_code == HTTPStatus.UNAUTHORIZED:
response_401 = cast(Any, None)
return response_401
if response.status_code == HTTPStatus.NOT_FOUND: if response.status_code == HTTPStatus.NOT_FOUND:
response_404 = cast(Any, None) response_404 = cast(Any, None)
return response_404 return response_404
@ -59,7 +66,7 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Uni
response_422 = cast(Any, None) response_422 = cast(Any, None)
return response_422 return response_422
if client.raise_on_unexpected_status: if client.raise_on_unexpected_status:
raise errors.UnexpectedStatus(f"Unexpected status code: {response.status_code}") raise errors.UnexpectedStatus(response.status_code, response.content)
else: else:
return None return None
@ -79,17 +86,19 @@ def sync_detailed(
client: AuthenticatedClient, client: AuthenticatedClient,
q: Union[Unset, None, str] = UNSET, q: Union[Unset, None, str] = UNSET,
caption: Union[Unset, None, str] = UNSET, caption: Union[Unset, None, str] = UNSET,
token: Union[Unset, None, str] = UNSET,
page: Union[Unset, None, int] = 1, page: Union[Unset, None, int] = 1,
page_size: Union[Unset, None, int] = 100, page_size: Union[Unset, None, int] = 100,
) -> Response[Union[Any, SearchResultsVideo]]: ) -> Response[Union[Any, SearchResultsVideo]]:
"""Video Find """Video Find
Find a video by filename Find a video by filename, caption or token
Args: Args:
album (str): album (str):
q (Union[Unset, None, str]): q (Union[Unset, None, str]):
caption (Union[Unset, None, str]): caption (Union[Unset, None, str]):
token (Union[Unset, None, str]):
page (Union[Unset, None, int]): Default: 1. page (Union[Unset, None, int]): Default: 1.
page_size (Union[Unset, None, int]): Default: 100. page_size (Union[Unset, None, int]): Default: 100.
@ -106,6 +115,7 @@ def sync_detailed(
client=client, client=client,
q=q, q=q,
caption=caption, caption=caption,
token=token,
page=page, page=page,
page_size=page_size, page_size=page_size,
) )
@ -124,17 +134,19 @@ def sync(
client: AuthenticatedClient, client: AuthenticatedClient,
q: Union[Unset, None, str] = UNSET, q: Union[Unset, None, str] = UNSET,
caption: Union[Unset, None, str] = UNSET, caption: Union[Unset, None, str] = UNSET,
token: Union[Unset, None, str] = UNSET,
page: Union[Unset, None, int] = 1, page: Union[Unset, None, int] = 1,
page_size: Union[Unset, None, int] = 100, page_size: Union[Unset, None, int] = 100,
) -> Optional[Union[Any, SearchResultsVideo]]: ) -> Optional[Union[Any, SearchResultsVideo]]:
"""Video Find """Video Find
Find a video by filename Find a video by filename, caption or token
Args: Args:
album (str): album (str):
q (Union[Unset, None, str]): q (Union[Unset, None, str]):
caption (Union[Unset, None, str]): caption (Union[Unset, None, str]):
token (Union[Unset, None, str]):
page (Union[Unset, None, int]): Default: 1. page (Union[Unset, None, int]): Default: 1.
page_size (Union[Unset, None, int]): Default: 100. page_size (Union[Unset, None, int]): Default: 100.
@ -143,7 +155,7 @@ def sync(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, SearchResultsVideo]] Union[Any, SearchResultsVideo]
""" """
return sync_detailed( return sync_detailed(
@ -151,6 +163,7 @@ def sync(
client=client, client=client,
q=q, q=q,
caption=caption, caption=caption,
token=token,
page=page, page=page,
page_size=page_size, page_size=page_size,
).parsed ).parsed
@ -162,17 +175,19 @@ async def asyncio_detailed(
client: AuthenticatedClient, client: AuthenticatedClient,
q: Union[Unset, None, str] = UNSET, q: Union[Unset, None, str] = UNSET,
caption: Union[Unset, None, str] = UNSET, caption: Union[Unset, None, str] = UNSET,
token: Union[Unset, None, str] = UNSET,
page: Union[Unset, None, int] = 1, page: Union[Unset, None, int] = 1,
page_size: Union[Unset, None, int] = 100, page_size: Union[Unset, None, int] = 100,
) -> Response[Union[Any, SearchResultsVideo]]: ) -> Response[Union[Any, SearchResultsVideo]]:
"""Video Find """Video Find
Find a video by filename Find a video by filename, caption or token
Args: Args:
album (str): album (str):
q (Union[Unset, None, str]): q (Union[Unset, None, str]):
caption (Union[Unset, None, str]): caption (Union[Unset, None, str]):
token (Union[Unset, None, str]):
page (Union[Unset, None, int]): Default: 1. page (Union[Unset, None, int]): Default: 1.
page_size (Union[Unset, None, int]): Default: 100. page_size (Union[Unset, None, int]): Default: 100.
@ -189,6 +204,7 @@ async def asyncio_detailed(
client=client, client=client,
q=q, q=q,
caption=caption, caption=caption,
token=token,
page=page, page=page,
page_size=page_size, page_size=page_size,
) )
@ -205,17 +221,19 @@ async def asyncio(
client: AuthenticatedClient, client: AuthenticatedClient,
q: Union[Unset, None, str] = UNSET, q: Union[Unset, None, str] = UNSET,
caption: Union[Unset, None, str] = UNSET, caption: Union[Unset, None, str] = UNSET,
token: Union[Unset, None, str] = UNSET,
page: Union[Unset, None, int] = 1, page: Union[Unset, None, int] = 1,
page_size: Union[Unset, None, int] = 100, page_size: Union[Unset, None, int] = 100,
) -> Optional[Union[Any, SearchResultsVideo]]: ) -> Optional[Union[Any, SearchResultsVideo]]:
"""Video Find """Video Find
Find a video by filename Find a video by filename, caption or token
Args: Args:
album (str): album (str):
q (Union[Unset, None, str]): q (Union[Unset, None, str]):
caption (Union[Unset, None, str]): caption (Union[Unset, None, str]):
token (Union[Unset, None, str]):
page (Union[Unset, None, int]): Default: 1. page (Union[Unset, None, int]): Default: 1.
page_size (Union[Unset, None, int]): Default: 100. page_size (Union[Unset, None, int]): Default: 100.
@ -224,7 +242,7 @@ async def asyncio(
httpx.TimeoutException: If the request takes longer than Client.timeout. httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns: Returns:
Response[Union[Any, SearchResultsVideo]] Union[Any, SearchResultsVideo]
""" """
return ( return (
@ -233,6 +251,7 @@ async def asyncio(
client=client, client=client,
q=q, q=q,
caption=caption, caption=caption,
token=token,
page=page, page=page,
page_size=page_size, page_size=page_size,
) )

View File

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

View File

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

View File

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

View File

@ -0,0 +1,216 @@
from http import HTTPStatus
from typing import Any, Dict, Optional, Union, cast
import httpx
from ... import errors
from ...client import AuthenticatedClient, Client
from ...models.http_validation_error import HTTPValidationError
from ...models.random_search_results_video import RandomSearchResultsVideo
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,
) -> 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
params["limit"] = limit
params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
return {
"method": "get",
"url": url,
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
"follow_redirects": client.follow_redirects,
"params": params,
}
def _parse_response(
*, client: Client, response: httpx.Response
) -> Optional[Union[Any, HTTPValidationError, RandomSearchResultsVideo]]:
if response.status_code == HTTPStatus.OK:
response_200 = RandomSearchResultsVideo.from_dict(response.json())
return response_200
if response.status_code == HTTPStatus.BAD_REQUEST:
response_400 = cast(Any, None)
return response_400
if response.status_code == HTTPStatus.NOT_FOUND:
response_404 = cast(Any, None)
return response_404
if response.status_code == HTTPStatus.UNPROCESSABLE_ENTITY:
response_422 = HTTPValidationError.from_dict(response.json())
return response_422
if client.raise_on_unexpected_status:
raise errors.UnexpectedStatus(response.status_code, response.content)
else:
return None
def _build_response(
*, client: Client, response: httpx.Response
) -> Response[Union[Any, HTTPValidationError, RandomSearchResultsVideo]]:
return Response(
status_code=HTTPStatus(response.status_code),
content=response.content,
headers=response.headers,
parsed=_parse_response(client=client, response=response),
)
def sync_detailed(
album: str,
*,
client: AuthenticatedClient,
caption: Union[Unset, None, str] = UNSET,
limit: Union[Unset, None, int] = 100,
) -> Response[Union[Any, HTTPValidationError, RandomSearchResultsVideo]]:
"""Video Random
Get one random video, optionally by caption
Args:
album (str):
caption (Union[Unset, None, str]):
limit (Union[Unset, None, int]): Default: 100.
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.
Returns:
Response[Union[Any, HTTPValidationError, RandomSearchResultsVideo]]
"""
kwargs = _get_kwargs(
album=album,
client=client,
caption=caption,
limit=limit,
)
response = httpx.request(
verify=client.verify_ssl,
**kwargs,
)
return _build_response(client=client, response=response)
def sync(
album: str,
*,
client: AuthenticatedClient,
caption: Union[Unset, None, str] = UNSET,
limit: Union[Unset, None, int] = 100,
) -> Optional[Union[Any, HTTPValidationError, RandomSearchResultsVideo]]:
"""Video Random
Get one random video, optionally by caption
Args:
album (str):
caption (Union[Unset, None, str]):
limit (Union[Unset, None, int]): Default: 100.
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.
Returns:
Union[Any, HTTPValidationError, RandomSearchResultsVideo]
"""
return sync_detailed(
album=album,
client=client,
caption=caption,
limit=limit,
).parsed
async def asyncio_detailed(
album: str,
*,
client: AuthenticatedClient,
caption: Union[Unset, None, str] = UNSET,
limit: Union[Unset, None, int] = 100,
) -> Response[Union[Any, HTTPValidationError, RandomSearchResultsVideo]]:
"""Video Random
Get one random video, optionally by caption
Args:
album (str):
caption (Union[Unset, None, str]):
limit (Union[Unset, None, int]): Default: 100.
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.
Returns:
Response[Union[Any, HTTPValidationError, RandomSearchResultsVideo]]
"""
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)
return _build_response(client=client, response=response)
async def asyncio(
album: str,
*,
client: AuthenticatedClient,
caption: Union[Unset, None, str] = UNSET,
limit: Union[Unset, None, int] = 100,
) -> Optional[Union[Any, HTTPValidationError, RandomSearchResultsVideo]]:
"""Video Random
Get one random video, optionally by caption
Args:
album (str):
caption (Union[Unset, None, str]):
limit (Union[Unset, None, int]): Default: 100.
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.
Returns:
Union[Any, HTTPValidationError, RandomSearchResultsVideo]
"""
return (
await asyncio_detailed(
album=album,
client=client,
caption=caption,
limit=limit,
)
).parsed

View File

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

View File

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

View File

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

View File

@ -11,6 +11,8 @@ from .http_validation_error import HTTPValidationError
from .photo import Photo from .photo import Photo
from .photo_public import PhotoPublic from .photo_public import PhotoPublic
from .photo_search import PhotoSearch from .photo_search import PhotoSearch
from .random_search_results_photo import RandomSearchResultsPhoto
from .random_search_results_video import RandomSearchResultsVideo
from .search_results_album import SearchResultsAlbum from .search_results_album import SearchResultsAlbum
from .search_results_photo import SearchResultsPhoto from .search_results_photo import SearchResultsPhoto
from .search_results_video import SearchResultsVideo from .search_results_video import SearchResultsVideo
@ -33,6 +35,8 @@ __all__ = (
"Photo", "Photo",
"PhotoPublic", "PhotoPublic",
"PhotoSearch", "PhotoSearch",
"RandomSearchResultsPhoto",
"RandomSearchResultsVideo",
"SearchResultsAlbum", "SearchResultsAlbum",
"SearchResultsPhoto", "SearchResultsPhoto",
"SearchResultsVideo", "SearchResultsVideo",

View File

@ -0,0 +1,72 @@
from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar
import attr
if TYPE_CHECKING:
from ..models.photo_search import PhotoSearch
T = TypeVar("T", bound="RandomSearchResultsPhoto")
@attr.s(auto_attribs=True)
class RandomSearchResultsPhoto:
"""
Attributes:
results (List['PhotoSearch']):
"""
results: List["PhotoSearch"]
additional_properties: Dict[str, Any] = attr.ib(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] = {}
field_dict.update(self.additional_properties)
field_dict.update(
{
"results": results,
}
)
return field_dict
@classmethod
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
from ..models.photo_search import PhotoSearch
d = src_dict.copy()
results = []
_results = d.pop("results")
for results_item_data in _results:
results_item = PhotoSearch.from_dict(results_item_data)
results.append(results_item)
random_search_results_photo = cls(
results=results,
)
random_search_results_photo.additional_properties = d
return random_search_results_photo
@property
def additional_keys(self) -> List[str]:
return list(self.additional_properties.keys())
def __getitem__(self, key: str) -> Any:
return self.additional_properties[key]
def __setitem__(self, key: str, value: Any) -> None:
self.additional_properties[key] = value
def __delitem__(self, key: str) -> None:
del self.additional_properties[key]
def __contains__(self, key: str) -> bool:
return key in self.additional_properties

View File

@ -0,0 +1,72 @@
from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar
import attr
if TYPE_CHECKING:
from ..models.video_search import VideoSearch
T = TypeVar("T", bound="RandomSearchResultsVideo")
@attr.s(auto_attribs=True)
class RandomSearchResultsVideo:
"""
Attributes:
results (List['VideoSearch']):
"""
results: List["VideoSearch"]
additional_properties: Dict[str, Any] = attr.ib(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] = {}
field_dict.update(self.additional_properties)
field_dict.update(
{
"results": results,
}
)
return field_dict
@classmethod
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
from ..models.video_search import VideoSearch
d = src_dict.copy()
results = []
_results = d.pop("results")
for results_item_data in _results:
results_item = VideoSearch.from_dict(results_item_data)
results.append(results_item)
random_search_results_video = cls(
results=results,
)
random_search_results_video.additional_properties = d
return random_search_results_video
@property
def additional_keys(self) -> List[str]:
return list(self.additional_properties.keys())
def __getitem__(self, key: str) -> Any:
return self.additional_properties[key]
def __setitem__(self, key: str, value: Any) -> None:
self.additional_properties[key] = value
def __delitem__(self, key: str) -> None:
del self.additional_properties[key]
def __contains__(self, key: str) -> bool:
return key in self.additional_properties

View File

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

View File

@ -7,12 +7,12 @@ long_description = (here / "README.md").read_text(encoding="utf-8")
setup( setup(
name="PhotosAPI_Client", name="PhotosAPI_Client",
version="0.1", version="0.5.0",
description="A client library for accessing END PLAY Photos", description="A client library for accessing Photos API",
long_description=long_description, long_description=long_description,
long_description_content_type="text/markdown", long_description_content_type="text/markdown",
packages=find_packages(), packages=find_packages(),
python_requires=">=3.7, <4", python_requires=">=3.7, <4",
install_requires=["httpx >= 0.15.0, < 0.24.0", "attrs >= 21.3.0", "python-dateutil >= 2.8.0, < 3"], install_requires=["httpx >= 0.15.0, < 0.24.0", "attrs >= 21.3.0", "python-dateutil >= 2.8.0, < 3"],
package_data={"PhotosAPI_Client": ["py.typed"]}, package_data={"photosapi_client": ["py.typed"]},
) )