o
    ˷e	                     @   s@   d dl mZmZmZ d dlmZ d dlmZ G dd deZdS )    )absolute_importdivisionprint_function)six)StripeObjectc                       sl   e Zd ZdZ	dddZ fddZdd Zd	d
 Zdd Ze		dddZ
edd Z	dddZ  ZS )SearchResultObjectsearch_resultNc                 K   s   | j d| d||||dS )Ngeturl)api_keystripe_versionstripe_accountparams)_requestr	   )selfr   r   r   r    r   `/var/www/ideatree/venv/lib/python3.10/site-packages/stripe/api_resources/search_result_object.pysearch
   s   zSearchResultObject.searchc                    s4   t |tjrtt| |S tdt|t|f )NzYou tried to access the %s index, but SearchResultObject types only support string keys. (HINT: Search calls return an object with  a 'data' (which is the data array). You likely want to call .data[%s]))
isinstancer   string_typessuperr   __getitem__KeyErrorrepr)r   k	__class__r   r   r      s   zSearchResultObject.__getitem__c                 C      t | dg  S Ndata)getattr__iter__r   r   r   r   r!   !      zSearchResultObject.__iter__c                 C   r   r   )r    __len__r"   r   r   r   r$   $   r#   zSearchResultObject.__len__c                 c   s,    | }	 |D ]}|V  q|  }|jrd S qN)next_search_result_pageis_empty)r   pageitemr   r   r   auto_paging_iter'   s   z#SearchResultObject.auto_paging_iterc                 C   s   | j g dd d|||d dS )NF)r   has_more	next_page)keyr   r   last_response)construct_from)clsr   r   r   r   r   r   empty_search_result2   s   
z&SearchResultObject.empty_search_resultc                 C   s   | j  S r%   )r   r"   r   r   r   r'   >   s   zSearchResultObject.is_emptyc                 K   sR   | j s| j|||dS | j }|d| ji || | jd|||d|S )N)r   r   r   r(   r   )r+   r1   _retrieve_paramscopyupdater,   r   )r   r   r   r   r   params_with_filtersr   r   r   r&   B   s    

z*SearchResultObject.next_search_result_page)NNN)__name__
__module____qualname__OBJECT_NAMEr   r   r!   r$   r*   classmethodr1   propertyr'   r&   __classcell__r   r   r   r   r      s    

r   N)	
__future__r   r   r   striper   stripe.stripe_objectr   r   r   r   r   r   <module>   s    