
    -2iv                       d dl mZ d dlZd dlZd dlmZmZ d dlmZ d dlZddl	m
Z
 ddlmZmZmZ ddlmZmZmZmZmZmZmZmZ dd	lmZmZmZmZ dd
lmZ ddlm Z m!Z! ddl"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z( ddl)m*Z*m+Z+ ddl,m-Z-m.Z. ddl/m0Z0 ddl1m2Z2 ddl3mZ ddgZ4 G d de           Z5 G d de!          Z6 G d d          Z7 G d d          Z8 G d d          Z9 G d d          Z:dS )    )annotationsN)Mappingcast)Literal   )_legacy_response)FilePurposefile_list_paramsfile_create_params)BodyOmitQueryHeadersNotGiven	FileTypesomit	not_given)extract_filesmaybe_transformdeepcopy_minimalasync_maybe_transform)cached_property)SyncAPIResourceAsyncAPIResource)StreamedBinaryAPIResponseAsyncStreamedBinaryAPIResponseto_streamed_response_wrapper"async_to_streamed_response_wrapper#to_custom_streamed_response_wrapper)async_to_custom_streamed_response_wrapper)SyncCursorPageAsyncCursorPage)AsyncPaginatormake_request_options)
FileObject)FileDeleted)r	   Files
AsyncFilesc            	          e Zd Zed3d            Zed4d            Zedddedd5dZdddedd6dZ	eeeedddedd7d$Z
dddedd8d&Zdddedd9d(Z ej        d)          dddedd:d*            Zd+d,d-d;d2ZdS )<r'   returnFilesWithRawResponsec                     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+   selfs    U/var/www/html/pixcura-vrs/venv/lib/python3.11/site-packages/openai/resources/files.pywith_raw_responsezFiles.with_raw_response$   s     $D)))    FilesWithStreamingResponsec                     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
        )r3   r.   s    r0   with_streaming_responsezFiles.with_streaming_response.   s     *$///r2   Nexpires_afterextra_headersextra_query
extra_bodytimeoutfiler   purposer	   r8   &file_create_params.ExpiresAfter | Omitr9   Headers | Noner:   Query | Noner;   Body | Noner<   'float | httpx.Timeout | None | NotGivenr%   c               8   t          |||d          }t          t          t          t          t
          f         |          dgg          }	ddi|pi }|                     dt          |t          j	                  |	t          ||||          t                    S )	  Upload a file that can be used across various endpoints.

        Individual files can be
        up to 512 MB, and the size of all files uploaded by one organization can be up
        to 1 TB.

        - The Assistants API supports files up to 2 million tokens and of specific file
          types. See the
          [Assistants Tools guide](https://platform.openai.com/docs/assistants/tools)
          for details.
        - The Fine-tuning API only supports `.jsonl` files. The input also has certain
          required formats for fine-tuning
          [chat](https://platform.openai.com/docs/api-reference/fine-tuning/chat-input)
          or
          [completions](https://platform.openai.com/docs/api-reference/fine-tuning/completions-input)
          models.
        - The Batch API only supports `.jsonl` files up to 200 MB in size. The input
          also has a specific required
          [format](https://platform.openai.com/docs/api-reference/batch/request-input).

        Please [contact us](https://help.openai.com/) if you need to increase these
        storage limits.

        Args:
          file: The File object (not file name) to be uploaded.

          purpose: The intended purpose of the uploaded file. One of: - `assistants`: Used in the
              Assistants API - `batch`: Used in the Batch API - `fine-tune`: Used for
              fine-tuning - `vision`: Images used for vision fine-tuning - `user_data`:
              Flexible file type for any purpose - `evals`: Used for eval data sets

          expires_after: The expiration policy for a file. By default, files with `purpose=batch` expire
              after 30 days and all other files are persisted until they are manually deleted.

          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
        r=   r>   r8   r=   pathsContent-Typemultipart/form-data/filesr9   r:   r;   r<   bodyfilesoptionscast_to)r   r   r   r   strobject_postr   r   FileCreateParamsr$   r%   
r/   r=   r>   r8   r9   r:   r;   r<   rN   rO   s
             r0   createzFiles.create7   s    n  "!. 
 
 d73;#7>>xjQQQ ()>X=CVTVXzz '9'JKK(+Q[el     
 
 	
r2   rL   file_idrR   c          	         |st          d|          |                     d| t          ||||          t                    S )^  
        Returns information about a specific file.

        Args:
          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
        6Expected a non-empty value for `file_id` but received /files/rL   rP   rQ   
ValueError_getr$   r%   r/   rX   r9   r:   r;   r<   s         r0   retrievezFiles.retrieve   sm    .  	caV]aabbbyyg(+Q[el     
 
 	
r2   afterlimitorderr>   r9   r:   r;   r<   rd   
str | Omitre   
int | Omitrf   Literal['asc', 'desc'] | OmitSyncCursorPage[FileObject]c                   |                      dt          t                   t          ||||t	          ||||dt
          j                            t                    S a  Returns a list of files.

        Args:
          after: A cursor for use in pagination.

        `after` is an object ID that defines your place
              in the list. For instance, if you make a list request and receive 100 objects,
              ending with obj_foo, your subsequent call can include after=obj_foo in order to
              fetch the next page of the list.

          limit: A limit on the number of objects to be returned. Limit can range between 1 and
              10,000, and the default is 10,000.

          order: Sort order by the `created_at` timestamp of the objects. `asc` for ascending
              order and `desc` for descending order.

          purpose: Only return files with the given purpose.

          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
        rK   )rd   re   rf   r>   )r9   r:   r;   r<   query)pagerP   model)_get_api_listr!   r%   r$   r   r
   FileListParams	r/   rd   re   rf   r>   r9   r:   r;   r<   s	            r0   listz
Files.list   s{    P !!
+(+'%%!&!&!&#*	  %3    % " 
 
 	
r2   r&   c          	         |st          d|          |                     d| t          ||||          t                    S )g  
        Delete a file and remove it from all vector stores.

        Args:
          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
        r[   r\   rL   r]   r_   _deleter$   r&   ra   s         r0   deletezFiles.delete   sm    .  	caV]aabbb||g(+Q[el      
 
 	
r2   +_legacy_response.HttpxBinaryResponseContentc          	         |st          d|          ddi|pi }|                     d| dt          ||||          t          j                  S )_  
        Returns the contents of the specified file.

        Args:
          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
        r[   Acceptapplication/binaryr\   /contentrL   r]   r_   r`   r$   r   HttpxBinaryResponseContentra   s         r0   contentzFiles.content  s    .  	caV]aabbb!#7QM<ORQyy'g'''(+Q[el   %?  
 
 	
r2   .The `.content()` method should be used insteadc          	         |st          d|          |                     d| dt          ||||          t                    S )r{   r[   r\   r~   rL   r]   r_   r`   r$   rR   ra   s         r0   retrieve_contentzFiles.retrieve_content%  sp    0  	caV]aabbbyy'g'''(+Q[el     
 
 	
r2         @  poll_intervalmax_wait_secondsidr   floatr   c               6   h d}t          j                     }|                     |          }|j        |vrc|                     |           |                     |          }t          j                     |z
  |k    rt	          d| d| d          |j        |vc|S )EWaits for the given file to be processed, default timeout is 30 mins.>   errordeleted	processedGiving up on waiting for file  to finish processing after 	 seconds.timerb   status_sleepRuntimeErrorr/   r   r   r   TERMINAL_STATESstartr=   s          r0   wait_for_processingzFiles.wait_for_processingG  s     <;;	}}R  k00KK&&&==$$Dy{{U"%555"pRppUeppp   k00 r2   )r*   r+   )r*   r3   r=   r   r>   r	   r8   r?   r9   r@   r:   rA   r;   rB   r<   rC   r*   r%   rX   rR   r9   r@   r:   rA   r;   rB   r<   rC   r*   r%   )rd   rg   re   rh   rf   ri   r>   rg   r9   r@   r:   rA   r;   rB   r<   rC   r*   rj   rX   rR   r9   r@   r:   rA   r;   rB   r<   rC   r*   r&   rX   rR   r9   r@   r:   rA   r;   rB   r<   rC   r*   ry   rX   rR   r9   r@   r:   rA   r;   rB   r<   rC   r*   rR   r   rR   r   r   r   r   r*   r%   __name__
__module____qualname__r   r1   r6   r   r   rW   rb   rs   rx   r   typing_extensions
deprecatedr   r    r2   r0   r'   r'   #   s       * * * _* 0 0 0 _0 AE )-$("&;DK
 K
 K
 K
 K
 K
f )-$("&;D
 
 
 
 
 
H ! /3" )-$("&;D;
 ;
 ;
 ;
 ;
 ;
F )-$("&;D
 
 
 
 
 
N )-$("&;D 
  
  
  
  
  
D "!"RSS )-$("&;D
 
 
 
 
 TS
J  #")       r2   c            	          e Zd Zed3d            Zed4d            Zedddedd5dZdddedd6dZ	eeeedddedd7d$Z
dddedd8d&Zdddedd9d(Z ej        d)          dddedd:d*            Zd+d,d-d;d2ZdS )<r(   r*   AsyncFilesWithRawResponsec                     t          |           S r-   )r   r.   s    r0   r1   zAsyncFiles.with_raw_response`  s     )...r2   AsyncFilesWithStreamingResponsec                     t          |           S r5   )r   r.   s    r0   r6   z"AsyncFiles.with_streaming_responsej  s     /t444r2   Nr7   r=   r   r>   r	   r8   r?   r9   r@   r:   rA   r;   rB   r<   rC   r%   c               T  K   t          |||d          }t          t          t          t          t
          f         |          dgg          }	ddi|pi }|                     dt          |t          j	                   d{V |	t          ||||          t          	           d{V S )
rE   rF   r=   rG   rI   rJ   rK   NrL   rM   )r   r   r   r   rR   rS   rT   r   r   rU   r$   r%   rV   s
             r0   rW   zAsyncFiles.creates  s      n  "!. 
 
 d73;#7>>xjQQQ ()>X=CVTVXZZ,T3E3VWWWWWWWW(+Q[el      
 
 
 
 
 
 
 
 	
r2   rL   rX   rR   c          	        K   |st          d|          |                     d| t          ||||          t                     d{V S )rZ   r[   r\   rL   r]   Nr^   ra   s         r0   rb   zAsyncFiles.retrieve  s      .  	caV]aabbbYYg(+Q[el     
 
 
 
 
 
 
 
 	
r2   rc   rd   rg   re   rh   rf   ri   7AsyncPaginator[FileObject, AsyncCursorPage[FileObject]]c                   |                      dt          t                   t          ||||t	          ||||dt
          j                            t                    S rl   )rp   r"   r%   r$   r   r
   rq   rr   s	            r0   rs   zAsyncFiles.list  s{    P !! ,(+'%%!&!&!&#*	  %3    % " 
 
 	
r2   r&   c          	        K   |st          d|          |                     d| t          ||||          t                     d{V S )ru   r[   r\   rL   r]   Nrv   ra   s         r0   rx   zAsyncFiles.delete  s      .  	caV]aabbb\\g(+Q[el     " 
 
 
 
 
 
 
 
 	
r2   ry   c          	        K   |st          d|          ddi|pi }|                     d| dt          ||||          t          j                   d{V S )	r{   r[   r|   r}   r\   r~   rL   r]   Nr   ra   s         r0   r   zAsyncFiles.content?  s      .  	caV]aabbb!#7QM<ORQYY'g'''(+Q[el   %?  
 
 
 
 
 
 
 
 	
r2   r   c          	        K   |st          d|          |                     d| dt          ||||          t                     d{V S )r{   r[   r\   r~   rL   r]   Nr   ra   s         r0   r   zAsyncFiles.retrieve_contenta  s      0  	caV]aabbbYY'g'''(+Q[el     
 
 
 
 
 
 
 
 	
r2   r   r   r   r   r   r   r   c               ^  K   h d}t          j                     }|                     |           d{V }|j        |vro|                     |           d{V  |                     |           d{V }t          j                     |z
  |k    rt	          d| d| d          |j        |vo|S )r   >   r   r   r   Nr   r   r   r   r   s          r0   r   zAsyncFiles.wait_for_processing  s       <;;	]]2&&&&&&&&k00++m,,,,,,,,,r********Dy{{U"%555"pRppUeppp   k00 r2   )r*   r   )r*   r   r   r   )rd   rg   re   rh   rf   ri   r>   rg   r9   r@   r:   rA   r;   rB   r<   rC   r*   r   r   r   r   r   r   r   r2   r0   r(   r(   _  s       / / / _/ 5 5 5 _5 AE )-$("&;DK
 K
 K
 K
 K
 K
f )-$("&;D
 
 
 
 
 
H ! /3" )-$("&;D;
 ;
 ;
 ;
 ;
 ;
F )-$("&;D
 
 
 
 
 
N )-$("&;D 
  
  
  
  
  
D "!"RSS )-$("&;D
 
 
 
 
 TS
J  #")       r2   c                      e Zd ZddZdS )r+   rO   r'   r*   Nonec                |   || _         t          j        |j                  | _        t          j        |j                  | _        t          j        |j                  | _        t          j        |j                  | _        t          j        |j                  | _        t          j        |j                  | _        d S N)	_filesr   to_raw_response_wrapperrW   rb   rs   rx   r   r   r/   rO   s     r0   __init__zFilesWithRawResponse.__init__  s    &>L
 
 )@N
 
 %<J
 
	 '>L
 
 (?M
 
 4&  	r2   NrO   r'   r*   r   r   r   r   r   r   r2   r0   r+   r+     (        
 
 
 
 
 
r2   r+   c                      e Zd ZddZdS )r   rO   r(   r*   r   c                |   || _         t          j        |j                  | _        t          j        |j                  | _        t          j        |j                  | _        t          j        |j                  | _        t          j        |j                  | _        t          j        |j                  | _        d S r   )	r   r   async_to_raw_response_wrapperrW   rb   rs   rx   r   r   r   s     r0   r   z"AsyncFilesWithRawResponse.__init__  s    &DL
 
 )FN
 
 %BJ
 
	 'DL
 
 (EM
 
 :&  	r2   NrO   r(   r*   r   r   r   r2   r0   r   r     r   r2   r   c                      e Zd ZddZdS )r3   rO   r'   r*   r   c                L   || _         t          |j                  | _        t          |j                  | _        t          |j                  | _        t          |j                  | _        t          |j        t                    | _        t          |j	                  | _	        d S r   )
r   r   rW   rb   rs   rx   r   r   r   r   r   s     r0   r   z#FilesWithStreamingResponse.__init__  s    2L
 
 5N
 
 1J
 
	 3L
 
 ;M%
 

 )&  	r2   Nr   r   r   r2   r0   r3   r3     (        
 
 
 
 
 
r2   r3   c                      e Zd ZddZdS )r   rO   r(   r*   r   c                L   || _         t          |j                  | _        t          |j                  | _        t          |j                  | _        t          |j                  | _        t          |j        t                    | _        t          |j	                  | _	        d S r   )
r   r   rW   rb   rs   rx   r    r   r   r   r   s     r0   r   z(AsyncFilesWithStreamingResponse.__init__  s    8L
 
 ;N
 
 7J
 
	 9L
 
 AM*
 

 /&  	r2   Nr   r   r   r2   r0   r   r     r   r2   r   );
__future__r   r   r   typingr   r   r   httpx r   typesr	   r
   r   _typesr   r   r   r   r   r   r   r   _utilsr   r   r   r   _compatr   	_resourcer   r   	_responser   r   r   r   r   r    
paginationr!   r"   _base_clientr#   r$   types.file_objectr%   types.file_deletedr&   types.file_purpose__all__r'   r(   r+   r   r3   r   r   r2   r0   <module>r      s   # " " " " "                      % % % % % %        E E E E E E E E E E U U U U U U U U U U U U U U U U U U U U \ \ \ \ \ \ \ \ \ \ \ \ % % % % % % 9 9 9 9 9 9 9 9                9 8 8 8 8 8 8 8 ? ? ? ? ? ? ? ? * * * * * * , , , , , , , , , , , ,L
!y y y y yO y y yx	y y y y y! y y yx	
 
 
 
 
 
 
 
4
 
 
 
 
 
 
 
4
 
 
 
 
 
 
 
6
 
 
 
 
 
 
 
 
 
r2   