a
    _gu                     @  s,  d dl mZ d dlmZmZmZ d dlZddlmZ ddl	m
Z
 ddlmZmZmZmZmZ ddlmZmZ dd	lmZ dd
lmZmZ ddlmZmZ ddlmZ ddlmZ ddl m!Z! ddl"m#Z# ddgZ$G dd deZ%G dd deZ&G dd dZ'G dd dZ(G dd dZ)G dd dZ*dS )    )annotations)ListUnionIterableN   )_legacy_response)moderation_create_params)	NOT_GIVENBodyQueryHeadersNotGiven)maybe_transformasync_maybe_transform)cached_property)SyncAPIResourceAsyncAPIResource)to_streamed_response_wrapper"async_to_streamed_response_wrapper)make_request_options)ModerationModel)ModerationCreateResponse)ModerationMultiModalInputParamModerationsAsyncModerationsc                	   @  sX   e Zd ZeddddZeddddZeddded	d
dddddddddZdS )r   ModerationsWithRawResponsereturnc                 C  s   t | S a  
        This property can be used as a prefix for any HTTP method call to return
        the raw response object instead of the parsed content.

        For more information, see https://www.github.com/openai/openai-python#accessing-raw-response-data-eg-headers
        )r   self r!   j/var/www/html/cobodadashboardai.evdpl.com/venv/lib/python3.9/site-packages/openai/resources/moderations.pywith_raw_response   s    zModerations.with_raw_response ModerationsWithStreamingResponsec                 C  s   t | S z
        An alternative to `.with_raw_response` that doesn't eagerly read the response body.

        For more information, see https://www.github.com/openai/openai-python#with_streaming_response
        )r$   r   r!   r!   r"   with_streaming_response&   s    z#Moderations.with_streaming_responseNmodelextra_headersextra_query
extra_bodytimeout?Union[str, List[str], Iterable[ModerationMultiModalInputParam]]&Union[str, ModerationModel] | NotGivenHeaders | NoneQuery | NoneBody | None'float | httpx.Timeout | None | NotGivenr   inputr(   r)   r*   r+   r,   r   c             	   C  s,   | j dt||dtjt||||dtdS )  Classifies if text and/or image inputs are potentially harmful.

        Learn more in
        the [moderation guide](https://platform.openai.com/docs/guides/moderation).

        Args:
          input: Input (or inputs) to classify. Can be a single string, an array of strings, or
              an array of multi-modal input objects similar to other models.

          model: The content moderation model you would like to use. Learn more in
              [the moderation guide](https://platform.openai.com/docs/guides/moderation), and
              learn about available models
              [here](https://platform.openai.com/docs/models#moderation).

          extra_headers: Send extra headers

          extra_query: Add additional query parameters to the request

          extra_body: Add additional JSON properties to the request

          timeout: Override the client-level default timeout for this request, in seconds
        /moderationsr4   r(   r)   r*   r+   r,   bodyoptionsZcast_to)_postr   r   ModerationCreateParamsr   r   r    r4   r(   r)   r*   r+   r,   r!   r!   r"   create/   s    "zModerations.create__name__
__module____qualname__r   r#   r&   r	   r?   r!   r!   r!   r"   r      s   	c                	   @  sX   e Zd ZeddddZeddddZeddded	d
dddddddddZdS )r   AsyncModerationsWithRawResponser   c                 C  s   t | S r   )rD   r   r!   r!   r"   r#   b   s    z"AsyncModerations.with_raw_response%AsyncModerationsWithStreamingResponsec                 C  s   t | S r%   )rE   r   r!   r!   r"   r&   l   s    z(AsyncModerations.with_streaming_responseNr'   r-   r.   r/   r0   r1   r2   r   r3   c             	     s8   | j dt||dtjI dH t||||dtdI dH S )r5   r6   r7   Nr8   r9   )r<   r   r   r=   r   r   r>   r!   r!   r"   r?   u   s    "zAsyncModerations.creater@   r!   r!   r!   r"   r   a   s   	c                   @  s   e Zd ZdddddZdS )r   r   Nonemoderationsr   c                 C  s   || _ t|j| _d S N)_moderationsr   Zto_raw_response_wrapperr?   r    rH   r!   r!   r"   __init__   s    z#ModerationsWithRawResponse.__init__NrA   rB   rC   rL   r!   r!   r!   r"   r      s   r   c                   @  s   e Zd ZdddddZdS )rD   r   rF   rG   c                 C  s   || _ t|j| _d S rI   )rJ   r   Zasync_to_raw_response_wrapperr?   rK   r!   r!   r"   rL      s    z(AsyncModerationsWithRawResponse.__init__NrM   r!   r!   r!   r"   rD      s   rD   c                   @  s   e Zd ZdddddZdS )r$   r   rF   rG   c                 C  s   || _ t|j| _d S rI   )rJ   r   r?   rK   r!   r!   r"   rL      s    z)ModerationsWithStreamingResponse.__init__NrM   r!   r!   r!   r"   r$      s   r$   c                   @  s   e Zd ZdddddZdS )rE   r   rF   rG   c                 C  s   || _ t|j| _d S rI   )rJ   r   r?   rK   r!   r!   r"   rL      s    z.AsyncModerationsWithStreamingResponse.__init__NrM   r!   r!   r!   r"   rE      s   rE   )+
__future__r   typingr   r   r   Zhttpx r   typesr   _typesr	   r
   r   r   r   _utilsr   r   Z_compatr   Z	_resourcer   r   	_responser   r   Z_base_clientr   Ztypes.moderation_modelr   Z types.moderation_create_responser   Z(types.moderation_multi_modal_input_paramr   __all__r   r   r   rD   r$   rE   r!   r!   r!   r"   <module>   s(   FF			