
    jof                          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lmZ d dlmZ d dlmZ d d	lmZ d d
lmZmZmZmZmZmZmZmZ  ede          Z G d deee                   ZdS )    )LiteralSelf)InvalidRequestError)StripeObject)extract_options_from_dict)ApiMode)BaseAddress)_APIRequestor)_util)
quote_plus)AnyClassVarGenericListOptionalTypeVarcastMappingT)boundc                      e Zd ZU ee         ed<   e ej        d          de	fd                        Z
defdZdefdZedefd            ZdefdZ	 dd
dddededefdZ	 dd
dddededefdZ	 	 dd
ddded         dedeeeef                  deee                  dededefdZ	 	 dd
ddded         dedeeeef                  deee                  dededefdZe	 dd
dddeeeef                  dedefd            Ze	 dd
dddeeeef                  dedefd            Ze	 dd
dddeeeef                  dedefd            Ze	 dd
dddeeeef                  dedefd            Zd	S )APIResourceOBJECT_NAMEzThis method is deprecated and will be removed in a future version of stripe-python. Child classes of APIResource should define their own `retrieve` and use APIResource._request directly.returnc                 f     | |fi |}|                                  t          t          |          S N)refreshr   r   )clsidparamsinstances       N/var/www/html/Alfredo/env/lib/python3.11/site-packages/stripe/_api_resource.pyretrievezAPIResource.retrieve   s=    
 3r$$V$$Ax       c                 R    |                      d|                                           S Nget)_request_and_refreshinstance_urlselfs    r"   r   zAPIResource.refresh%   s$    ((0A0A0C0CDDDr$   c                 b   K   |                      d|                                            d {V S r&   )_request_and_refresh_asyncr)   r*   s    r"   refresh_asynczAPIResource.refresh_async(   sM      444$$&&
 
 
 
 
 
 
 
 	
r$   c                 x    | t           k    rt          d          | j                            dd          }d|dS )NzgAPIResource is an abstract class.  You should perform actions on its subclasses (e.g. Charge, Customer)./z/v1/s)r   NotImplementedErrorr   replace)r   bases     r"   	class_urlzAPIResource.class_url-   sM    +%D   &&sC00 DD""r$   c           
         |                      d          }t          |t                    s9t          dt	          |           j        d|dt	          |          dd          |                                 }t          |          }|d|S )Nr   z*Could not determine which URL to request: z instance has invalid ID: z, z+. ID should be of type `str` (or `unicode`)r1   )r'   
isinstancestrr   type__name__r6   r   )r+   r   r5   extns       r"   r)   zAPIResource.instance_url9   s    XXd^^"c"" 	%% "&d!4!4!4bbb$r((((D 	   ~~"~~$$%%r$   NapiV1)base_addressapi_moder?   r@   c                    t          j        | |||||          }t          |           t          |          u r|                     ||           | S |S N)r    r?   r@   valuesr@   )r   _requestr:   _refresh_fromr+   methodurlr    r?   r@   objs          r"   rE   zAPIResource._requestH   si     #%
 
 
 ::c""cH===KJr$   c                   K   t          j        | |||||           d {V }t          |           t          |          u r|                     ||           | S |S rB   )r   _request_asyncr:   rF   rG   s          r"   rL   zAPIResource._request_async`   s       !/%
 
 
 
 
 
 
 
 
 ::c""cH===KJr$   rH   )r'   postdeleterI   r    usagec          	      j    t          j        | ||||||          }|                     ||           | S N)r    r?   r@   rO   rC   )r   rE   rF   r+   rH   rI   r    rO   r?   r@   rJ   s           r"   r(   z APIResource._request_and_refreshx   sP     #%
 
 
 	#999r$   c          	      z   K   t          j        | ||||||           d {V }|                     ||           | S rQ   )r   rL   rF   rR   s           r"   r-   z&APIResource._request_and_refresh_async   sr       !/%
 
 
 
 
 
 
 
 
 	#999r$   c                ~    t          |          \  }}t          j                                        ||||||          S N)r    optionsr?   r@   )r   r
   _global_instancerequestr   method_url_r    r?   r@   request_optionsrequest_paramss           r"   _static_requestzAPIResource._static_request   sO     +DF*K*K'-//77!#% 8 
 
 	
r$   c                   K   t          |          \  }}t          j                                        ||||||           d {V S rU   )r   r
   rW   request_asyncrY   s           r"   _static_request_asyncz!APIResource._static_request_async   sr       +DF*K*K'"355CC!#% D 
 
 
 
 
 
 
 
 	
r$   c                ~    t          |          \  }}t          j                                        ||||||          S rU   )r   r
   rW   request_streamr   rH   rI   r    r?   r@   r\   r]   s           r"   _static_request_streamz"APIResource._static_request_stream   sO     +DF*K*K'-//>>!#% ? 
 
 	
r$   c                   K   t          |          \  }}t          j                                        ||||||           d {V S rU   )r   r
   rW   request_stream_asyncrd   s           r"   _static_request_stream_asyncz(APIResource._static_request_stream_async   sr       +DF*K*K'"355JJ!#% K 
 
 
 
 
 
 
 
 	
r$   r   )NN) r;   
__module____qualname__r   r9   __annotations__classmethodr   
deprecatedr   r#   r   r   r.   r6   r)   r	   r   r   rE   rL   r   r   r   r   r   r(   r-   r^   ra   re   rh    r$   r"   r   r      sN        #U 	E !q ! ! !  [!
E E E E E
T 
 
 
 

 	## 	# 	# 	# [	#&c & & & && 	 %*    "  
   8 	 %*    "  
   8 /3%) %*   /0  c*+	
 S	" "  
   6 /3%) %*   /0  c*+	
 S	" "  
   . 
 /3	
 %* 
 
 
 c*+	
 "
 
 
 
 [
& 
 /3	
 %* 
 
 
 c*+	
 "
 
 
 
 [
& 
 /3	
 %* 
 
 
 c*+	
 "
 
 
 
 [
& 
 /3	
 %* 
 
 
 c*+	
 "
 
 
 
 [
 
 
r$   r   N)typing_extensionsr   r   stripe._errorr   stripe._stripe_objectr   stripe._request_optionsr   stripe._api_moder   stripe._base_addressr	   stripe._api_requestorr
   striper   urllib.parser   typingr   r   r   r   r   r   r   r   r   r   rn   r$   r"   <module>ry      sk   + + + + + + + + - - - - - - . . . . . . = = = = = = $ $ $ $ $ $ , , , , , , / / / / / /       # # # # # #	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 GC|$$$[
 [
 [
 [
 [
,
 [
 [
 [
 [
 [
r$   