
    <@gL                         d dl 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 d dlmZ d dlmZ d dlmZmZ d dlmZ  e	de	      Z G d
 deee         Zy)    )SelfUnpack)AnyAsyncIteratorIteratorListGenericTypeVarcastMapping)_APIRequestor)AnyIterator)StripeObject)RequestOptionsextract_options_from_dict)
quote_plusT)boundc                       e Zd ZU dZee   ed<   eed<   eed<   defdZ	de
eef   defdZde
eef   defd	Zde
eef   defd
Zdede
eef   fdZdedef fdZdee   fdZdefdZdee   fdZdee   fdZdee   fdZdee   fdZedee   defd       Ze defd       Z!dede
eef   fdZ"dee   defdZ#dee   defdZ$dede
eef   fdZ%dee   defdZ&dee   defdZ' xZ(S )
ListObjectlistdatahas_moreurlreturnc                 ^    | j                  d      }t        |t              st        d      |S )Nr   zBCannot call .list on a list object without a string "url" property)get
isinstancestr
ValueError)selfr   s     R/var/www/html/AdoubleTech/venv/lib/python3.12/site-packages/stripe/_list_object.py_get_url_for_listzListObject._get_url_for_list#   s0    hhuo#s#T  
    paramsc           	      d    t        t        | j                  d| j                         |d            S Nr   apir%   base_address)r   r   _requestr#   r!   r%   s     r"   r   zListObject.list+   s8    MM&&("	  
 	
r$   c           	         K   t        t        | j                  d| j                         |d       d {         S 7 wr'   )r   r   _request_asyncr#   r,   s     r"   
list_asynczListObject.list_async6   sH     %%&&("	 &  
 	
s   1><
	>c           	          | j                  d      }t        |t              st        d      t	        t
        | j                  d||d            S )Nr   zdCannot call .create on a list object for the collection of an object without a string "url" propertypostr(   r)   )r   r   r   r    r   r   r+   )r!   r%   r   s      r"   createzListObject.createA   sX    hhuo#s#v  MM"	  
 	
r$   idc           	          | j                  d      }t        |t              st        d      | j                  d      dt	        |      }t        t        | j                  d||d            S )Nr   zfCannot call .retrieve on a list object for the collection of an object without a string "url" property/r   r(   r)   )r   r   r   r    r   r   r   r+   )r!   r3   r%   r   s       r"   retrievezListObject.retrieveQ   sn    hhuo#s#x  %*R.9MM"	  
 	
r$   kc                     t        |t              rt        t        |   |      S t        dt        |      dt        |      d      )NzYou tried to access the z index, but ListObject types only support string keys. (HINT: List calls return an object with a 'data' (which is the data array). You likely want to call .data[z]))r   r   superr   __getitem__KeyErrorrepr)r!   r7   	__class__s     r"   r:   zListObject.__getitem__c   s@    aT6q99 !%Qa2 r$   c                 8    t        | dg       j                         S Nr   )getattr__iter__r!   s    r"   rA   zListObject.__iter__q   s     tVR(1133r$   c                 8    t        | dg       j                         S r?   )r@   __len__rB   s    r"   rD   zListObject.__len__v   s    tVR(0022r$   c                 8    t        | dg       j                         S r?   )r@   __reversed__rB   s    r"   rF   zListObject.__reversed__y   s    tVR(5577r$   c                 R    t        | j                         | j                               S N)r   _auto_paging_iter_auto_paging_iter_asyncrB   s    r"   auto_paging_iterzListObject.auto_paging_iter|   s'    ""$((*
 	
r$   c              #      K   | }	 d| j                   v r3d| j                   vr%t        |      D ]  }|  |j                         }n|D ]  }|  |j                         }|j                  ry jwNending_beforestarting_after)_retrieve_paramsreversedprevious_page	next_pageis_emptyr!   pageitems      r"   rI   zListObject._auto_paging_iter   s     4#8#88$D,A,AA$TN DJ))+  DJ~~'}} s   A.A0c                  K   | }	 d| j                   v r<d| j                   vr.t        |      D ]  }| 	 |j                          d {   }n$|D ]  }| 	 |j                          d {   }|j                  ry |7 77 wrM   )rP   rQ   previous_page_asyncnext_page_asyncrT   rU   s      r"   rJ   z"ListObject._auto_paging_iter_async   s     4#8#88$D,A,AA$TN DJ!5577  DJ!1133}}  8 4s$   AB
B$B/B0BBc           	      V    | j                  dg id t        j                  di |d      S )Nr   V1)valueslast_response	requestorapi_mode )_construct_fromr   _global_with_options)clsr%   s     r"   _empty_listzListObject._empty_list   sA    
 ""B<#88   # 
 	
r$   c                     | j                    S rH   )r   rB   s    r"   rT   zListObject.is_empty   s    99}r$   c                     t        | j                  d   d      }|st        d      t        | j                        }|j                  d|i       |j                  |       |S )Nr3   5Unexpected: element in .data of list object had no idrO   r@   r   r    dictrP   update)r!   r%   last_idparams_with_filterss       r"   _get_filters_for_next_pagez%ListObject._get_filters_for_next_page   sf     $))B-.G  #4#8#89""$4g#>?""6*""r$   c                     | j                   s t        |      \  }} | j                  di |S  | j                  di | j	                  |      S Nra   )r   r   re   r   ro   r!   r%   request_options_s       r"   rS   zListObject.next_page   s]    }}!:6!BOQ#4## !  tyy 
--f5
 	
r$   c                    K   | j                   s t        |      \  }} | j                  di |S  | j                  di | j	                  |       d {   S 7 wrq   )r   r   re   r/   ro   rr   s       r"   rZ   zListObject.next_page_async   s`     }}!:6!BOQ#4## !  %T__Ot'F'Fv'NOOOOs   AAAAc                     t        | j                  d   d      }|st        d      t        | j                        }|j                  d|i       |j                  |       |S )Nr   r3   ri   rN   rj   )r!   r%   first_idrn   s       r"   _get_filters_for_previous_pagez)ListObject._get_filters_for_previous_page   se     499Q<.G  #4#8#89""OX#>?""6*""r$   c                     | j                   s t        |      \  }} | j                  di |S  | j                  di | j	                  |      }|S rq   )r   r   re   r   rx   r!   r%   rs   rt   results        r"   rR   zListObject.previous_page   sa    }}!:6!BOQ#4## !   
11&9
 r$   c                    K   | j                   s t        |      \  }} | j                  di |S  | j                  di | j	                  |       d {   }|S 7 wrq   )r   r   re   r/   rx   rz   s        r"   rY   zListObject.previous_page_async   sq      }}!:6!BOQ#4## !  't 
11&9
 
 
s   AAAA))__name__
__module____qualname__OBJECT_NAMEr   r   __annotations__boolr   r#   r   r   r   r   r/   r2   r6   r:   r   rA   intrD   rF   r   rK   rI   r   rJ   classmethodr   r   re   propertyrT   ro   rS   rZ   rx   rR   rY   __classcell__)r=   s   @r"   r   r      s   K
q'MN	H3 	
WS#X. 	
4 	
	
c): 	
t 	

wsCx0 
Q 
 
3 
'#s(*; 
$	S 	Q 	4	!4
3 38hqk 8
+a. 
8A; &}Q/? & 
(
 

 
 $  #$#	c	#
&"8 
T 
Pf^.D P P#$#	c	#
f^&< 
 
~.	r$   r   N)typing_extensionsr   r   typingr   r   r   r   r	   r
   r   r   stripe._api_requestorr   stripe._any_iteratorr   stripe._stripe_objectr   stripe._request_optionsr   r   urllib.parser   r   r   ra   r$   r"   <module>r      sN    +	 	 	 - . M # C|$dwqz dr$   