2023-05-04 00:58:06 -07:00
from typing import Any , Dict , Optional , Union
2022-06-16 12:02:16 -07:00
import httpx
from . . . client import Client
from . . . models . error import Error
2023-05-04 00:58:06 -07:00
from . . . models . unit_magnetic_field_strength_conversion import (
UnitMagneticFieldStrengthConversion ,
)
from . . . models . unit_magnetic_field_strength_format import (
UnitMagneticFieldStrengthFormat ,
)
2022-06-16 12:02:16 -07:00
from . . . types import Response
2023-05-04 00:58:06 -07:00
2022-06-16 12:02:16 -07:00
def _get_kwargs (
2023-05-04 00:58:06 -07:00
output_format : UnitMagneticFieldStrengthFormat ,
src_format : UnitMagneticFieldStrengthFormat ,
value : float ,
* ,
client : Client ,
2022-06-16 12:02:16 -07:00
) - > Dict [ str , Any ] :
2023-05-04 00:58:06 -07:00
url = " {} /unit/conversion/magnetic-field-strength/ {src_format} / {output_format} " . format (
client . base_url , output_format = output_format , src_format = src_format
) # noqa: E501
if value is not None :
if " ? " in url :
url = url + " &value= " + str ( value )
else :
url = url + " ?value= " + str ( value )
headers : Dict [ str , Any ] = client . get_headers ( )
cookies : Dict [ str , Any ] = client . get_cookies ( )
return {
" url " : url ,
" headers " : headers ,
" cookies " : cookies ,
" timeout " : client . get_timeout ( ) ,
}
def _parse_response (
* , response : httpx . Response
) - > Optional [ Union [ Any , UnitMagneticFieldStrengthConversion , Error ] ] :
if response . status_code == 200 :
response_200 = UnitMagneticFieldStrengthConversion . from_dict ( response . json ( ) )
return response_200
if response . status_code == 400 :
response_4XX = Error . from_dict ( response . json ( ) )
return response_4XX
if response . status_code == 500 :
response_5XX = Error . from_dict ( response . json ( ) )
return response_5XX
return None
def _build_response (
* , response : httpx . Response
) - > Response [ Union [ Any , UnitMagneticFieldStrengthConversion , Error ] ] :
return Response (
status_code = response . status_code ,
content = response . content ,
headers = response . headers ,
parsed = _parse_response ( response = response ) ,
)
2022-06-16 12:02:16 -07:00
def sync_detailed (
2023-05-04 00:58:06 -07:00
output_format : UnitMagneticFieldStrengthFormat ,
src_format : UnitMagneticFieldStrengthFormat ,
value : float ,
* ,
client : Client ,
2022-07-25 22:46:48 +00:00
) - > Response [ Union [ Any , UnitMagneticFieldStrengthConversion , Error ] ] :
2023-05-04 00:58:06 -07:00
kwargs = _get_kwargs (
output_format = output_format ,
src_format = src_format ,
value = value ,
client = client ,
)
2022-06-16 12:02:16 -07:00
2023-05-04 00:58:06 -07:00
response = httpx . get (
verify = client . verify_ssl ,
* * kwargs ,
)
2022-06-16 12:02:16 -07:00
2023-05-04 00:58:06 -07:00
return _build_response ( response = response )
2022-06-16 12:02:16 -07:00
def sync (
2023-05-04 00:58:06 -07:00
output_format : UnitMagneticFieldStrengthFormat ,
src_format : UnitMagneticFieldStrengthFormat ,
value : float ,
* ,
client : Client ,
2022-07-25 22:46:48 +00:00
) - > Optional [ Union [ Any , UnitMagneticFieldStrengthConversion , Error ] ] :
2023-05-04 00:58:06 -07:00
""" Convert a magnetic field strength unit value to another magnetic field strength unit value. This is a nice endpoint to use for helper functions. """ # noqa: E501
2022-06-16 12:02:16 -07:00
2023-05-04 00:58:06 -07:00
return sync_detailed (
output_format = output_format ,
src_format = src_format ,
value = value ,
client = client ,
) . parsed
2022-06-16 12:02:16 -07:00
async def asyncio_detailed (
2023-05-04 00:58:06 -07:00
output_format : UnitMagneticFieldStrengthFormat ,
src_format : UnitMagneticFieldStrengthFormat ,
value : float ,
* ,
client : Client ,
2022-07-25 22:46:48 +00:00
) - > Response [ Union [ Any , UnitMagneticFieldStrengthConversion , Error ] ] :
2023-05-04 00:58:06 -07:00
kwargs = _get_kwargs (
output_format = output_format ,
src_format = src_format ,
value = value ,
client = client ,
)
2022-06-16 12:02:16 -07:00
2023-05-04 00:58:06 -07:00
async with httpx . AsyncClient ( verify = client . verify_ssl ) as _client :
response = await _client . get ( * * kwargs )
2022-06-16 12:02:16 -07:00
2023-05-04 00:58:06 -07:00
return _build_response ( response = response )
2022-06-16 12:02:16 -07:00
async def asyncio (
2023-05-04 00:58:06 -07:00
output_format : UnitMagneticFieldStrengthFormat ,
src_format : UnitMagneticFieldStrengthFormat ,
value : float ,
* ,
client : Client ,
2022-07-25 22:46:48 +00:00
) - > Optional [ Union [ Any , UnitMagneticFieldStrengthConversion , Error ] ] :
2023-05-04 00:58:06 -07:00
""" Convert a magnetic field strength unit value to another magnetic field strength unit value. This is a nice endpoint to use for helper functions. """ # noqa: E501
return (
await asyncio_detailed (
output_format = output_format ,
src_format = src_format ,
value = value ,
client = client ,
)
) . parsed