
    Ai!                         d dl mZ d dlmZ d dlmZmZ d dlmZ d dl	m
Z
 e
r<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 d dlmZ dddgiZ G d de      Z y)    )StripeService)sanitize_id)Optionalcast)import_module)TYPE_CHECKING)
ListObject)RequestOptions)Meter)MeterEventSummaryService)MeterCreateParams)MeterDeactivateParams)MeterListParams)MeterReactivateParams)MeterRetrieveParams)MeterUpdateParamsevent_summariesz+stripe.billing._meter_event_summary_servicer   c            	           e Zd ZU ded<    fdZd Z	 	 dded   ded   d	d
fdZ	 	 dded   ded   d	d
fdZ	 dddded   d	dfdZ		 dddded   d	dfdZ
	 	 ddeded   ded   d	dfdZ	 	 ddeded   ded   d	dfdZ	 	 ddeded   ded   d	dfdZ	 	 ddeded   ded   d	dfdZ	 	 ddeded   ded   d	dfdZ	 	 ddeded   ded   d	dfdZ	 	 ddeded   ded   d	dfdZ	 	 ddeded   ded   d	dfdZ xZS ) MeterServicer   r   c                 $    t         |   |       y N)super__init__)self	requestor	__class__s     P/var/www/html/immo/lib/python3.12/site-packages/stripe/billing/_meter_service.pyr   zMeterService.__init__(   s    #    c                     	 t         |   \  }}t        t        |      |      }t        | | || j                               t        | |      S # t
        $ r t               w xY wr   )_subservicesgetattrr   setattr
_requestorKeyErrorAttributeError)r   nameimport_fromserviceservice_classs        r   __getattr__zMeterService.__getattr__+   sn    	##/#5 K#k*M doo.
 4&& 	# ""	#s   A	A A paramsr   optionsr
   returnListObject[Meter]c           
      B    t        d| j                  ddd||            S )4
        Retrieve a list of billing meters.
        r.   get/v1/billing/metersapibase_addressr+   r,   r   _requestr   r+   r,   s      r   listzMeterService.list;   s4     MM$"  	
 		
r   c           
      ^   K   t        d| j                  ddd||       d{         S 7 w)r0   r.   r1   r2   r3   r4   Nr   _request_asyncr8   s      r   
list_asynczMeterService.list_asyncN   sD      %%$" &  	
 		
    -+
	-r   r   c           
      B    t        d| j                  ddd||            S )*
        Creates a billing meter.
        r   postr2   r3   r4   r6   r8   s      r   createzMeterService.createa   s4     MM$"  	
 		
r   c           
      ^   K   t        d| j                  ddd||       d{         S 7 w)r@   r   rA   r2   r3   r4   Nr;   r8   s      r   create_asynczMeterService.create_asynct   sD      %%$" &  	
 		
r>   idr   c                 t    t        d| j                  ddj                  t        |            d||            S )8
        Retrieves a billing meter given an ID.
        r   r1   /v1/billing/meters/{id}rE   r3   r4   r   r7   formatr   r   rE   r+   r,   s       r   retrievezMeterService.retrieve   sF     MM)00KO0D"  	
 		
r   c                    K   t        d| j                  ddj                  t        |            d||       d{         S 7 w)rG   r   r1   rH   rI   r3   r4   Nr   r<   rK   r   rL   s       r   retrieve_asynczMeterService.retrieve_async   sV      %%)00KO0D" &  	
 		
   9AA
	Ar   c                 t    t        d| j                  ddj                  t        |            d||            S )*
        Updates a billing meter.
        r   rA   rH   rI   r3   r4   rJ   rL   s       r   updatezMeterService.update   sF     MM)00KO0D"  	
 		
r   c                    K   t        d| j                  ddj                  t        |            d||       d{         S 7 w)rS   r   rA   rH   rI   r3   r4   NrO   rL   s       r   update_asynczMeterService.update_async   sV      %%)00KO0D" &  	
 		
rQ   r   c                 t    t        d| j                  ddj                  t        |            d||            S )
        When a meter is deactivated, no more meter events will be accepted for this meter. You can't attach a deactivated meter to a price.
        r   rA   "/v1/billing/meters/{id}/deactivaterI   r3   r4   rJ   rL   s       r   
deactivatezMeterService.deactivate   M     MM4;;"2 <  #  
 	
r   c                    K   t        d| j                  ddj                  t        |            d||       d{         S 7 w)rX   r   rA   rY   rI   r3   r4   NrO   rL   s       r   deactivate_asynczMeterService.deactivate_async   ]      %%4;;"2 <  # &  
 	
rQ   r   c                 t    t        d| j                  ddj                  t        |            d||            S )}
        When a meter is reactivated, events for this meter can be accepted and you can attach the meter to a price.
        r   rA   "/v1/billing/meters/{id}/reactivaterI   r3   r4   rJ   rL   s       r   
reactivatezMeterService.reactivate  r[   r   c                    K   t        d| j                  ddj                  t        |            d||       d{         S 7 w)r`   r   rA   ra   rI   r3   r4   NrO   rL   s       r   reactivate_asynczMeterService.reactivate_async  r^   rQ   )NNr   )__name__
__module____qualname____annotations__r   r*   r   r9   r=   rB   rD   strrM   rP   rT   rV   rZ   r]   rb   rd   __classcell__)r   s   @r   r   r   %   s   //$#$ /3.2
*+
 *+
 
	
* /3.2
*+
 *+
 
	
, /3
#
 *+
 
	
, /3
#
 *+
 
	
, 37.2	

 ./
 *+	

 

. 37.2	

 ./
 *+	

 

. 15.2	

 ,-
 *+	

 

. 15.2	

 ,-
 *+	

 

. 59.2	

 01
 *+	

 

2 59.2	

 01
 *+	

 

2 59.2	

 01
 *+	

 

2 59.2	

 01
 *+	

 

r   r   N)!stripe._stripe_servicer   stripe._utilr   typingr   r   	importlibr   typing_extensionsr   stripe._list_objectr	   stripe._request_optionsr
   stripe.billing._meterr   +stripe.billing._meter_event_summary_servicer   *stripe.params.billing._meter_create_paramsr   .stripe.params.billing._meter_deactivate_paramsr   (stripe.params.billing._meter_list_paramsr   .stripe.params.billing._meter_reactivate_paramsr   ,stripe.params.billing._meter_retrieve_paramsr   *stripe.params.billing._meter_update_paramsr   r    r    r   r   <module>r{      sm    1 $ ! # +.6+ M I M 5"H
= H
r   