# coding: utf-8 """ Generated by: https://github.com/openapi-json-schema-tools/openapi-json-schema-generator """ from comfy.api import api_client, exceptions from comfy.api.shared_imports.operation_imports import * # pyright: ignore [reportWildcardImportFromLibrary] from comfy.api.components.schema import prompt_request from .. import path from .responses import ( response_200, response_400, ) from . import request_body __StatusCodeToResponse = typing.TypedDict( '__StatusCodeToResponse', { '200': typing.Type[response_200.ResponseFor200], '400': typing.Type[response_400.ResponseFor400], } ) _status_code_to_response: __StatusCodeToResponse = { '200': response_200.ResponseFor200, '400': response_400.ResponseFor400, } _non_error_status_codes = frozenset({ '200', }) _error_status_codes = frozenset({ '400', }) _all_accept_content_types = ( "text/plain", ) class BaseApi(api_client.Api): @typing.overload def _post_prompt( self, body: typing.Union[ prompt_request.PromptRequestDictInput, prompt_request.PromptRequestDict, schemas.Unset ] = schemas.unset, *, skip_deserialization: typing.Literal[False] = False, content_type: typing.Literal["application/json"] = "application/json", accept_content_types: typing.Tuple[str, ...] = _all_accept_content_types, server_index: typing.Optional[int] = None, stream: bool = False, timeout: typing.Optional[typing.Union[int, float, typing.Tuple]] = None, ) -> response_200.ApiResponse: ... @typing.overload def _post_prompt( self, body: typing.Union[ prompt_request.PromptRequestDictInput, prompt_request.PromptRequestDict, schemas.Unset ] = schemas.unset, *, skip_deserialization: typing.Literal[True], content_type: typing.Literal["application/json"] = "application/json", accept_content_types: typing.Tuple[str, ...] = _all_accept_content_types, server_index: typing.Optional[int] = None, stream: bool = False, timeout: typing.Optional[typing.Union[int, float, typing.Tuple]] = None, ) -> api_response.ApiResponseWithoutDeserialization: ... def _post_prompt( self, body: typing.Union[ prompt_request.PromptRequestDictInput, prompt_request.PromptRequestDict, schemas.Unset ] = schemas.unset, *, skip_deserialization: bool = False, content_type: typing.Literal["application/json"] = "application/json", accept_content_types: typing.Tuple[str, ...] = _all_accept_content_types, server_index: typing.Optional[int] = None, stream: bool = False, timeout: typing.Optional[typing.Union[int, float, typing.Tuple]] = None, ): """ (UI) Post prompt :param skip_deserialization: If true then api_response.response will be set but api_response.body and api_response.headers will not be deserialized into schema class instances """ used_path = path headers = self._get_headers(accept_content_types=accept_content_types) # TODO add cookie handling fields, serialized_body = self._get_fields_and_body( request_body=request_body.RequestBody, body=body, content_type=content_type, headers=headers ) host = self.api_client.configuration.get_server_url( "servers", server_index ) raw_response = self.api_client.call_api( resource_path=used_path, method='post', host=host, headers=headers, fields=fields, body=serialized_body, stream=stream, timeout=timeout, ) if skip_deserialization: skip_deser_response = api_response.ApiResponseWithoutDeserialization(response=raw_response) self._verify_response_status(skip_deser_response) return skip_deser_response status = str(raw_response.status) if status in _non_error_status_codes: status_code = typing.cast( typing.Literal[ '200', ], status ) return _status_code_to_response[status_code].deserialize( raw_response, self.api_client.schema_configuration) elif status in _error_status_codes: error_status_code = typing.cast( typing.Literal[ '400', ], status ) error_response = _status_code_to_response[error_status_code].deserialize( raw_response, self.api_client.schema_configuration) raise exceptions.ApiException( status=error_response.response.status, reason=error_response.response.reason, api_response=error_response ) response = api_response.ApiResponseWithoutDeserialization(response=raw_response) self._verify_response_status(response) return response class PostPrompt(BaseApi): # this class is used by api classes that refer to endpoints with operationId.snakeCase fn names post_prompt = BaseApi._post_prompt class ApiForPost(BaseApi): # this class is used by api classes that refer to endpoints by path and http method names post = BaseApi._post_prompt