
    PIiC                     X    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	 	  G d de      Z
y)	    )AbstractObject)AbstractCrudObject)ObjectParser)FacebookRequest)TypeCheckerc                       e Zd Zd] fd	Z G d dej
                        Z G d d      Z G d d      Z G d d	      Z G d
 d      Z	 G d d      Z
 G d d      Z G d d      Z G d d      Z G d d      Z G d d      Zed        Zd^dZd^dZd^dZd^dZd^dZd^dZi dd d!d"d#d$d%d&d'd$d(d$d)d*d+d$d,d$d-d$d.d$d/d$d0d$d1d$d2d3d4d3d5d3i d6d3d7d3d8d$d9d$d:d$d;d$d<d$d=d$d>d$d?d$d@d$dAd$dBdCdDdEdFd$dGd$dHdi dIdJdKd$dLd$dMd$dNd dOd$dPd$dQd$dRd$dSd&dTd&dUd&dVd&dWd&dXd$dYd$dZdJd$dJd$d$d$d d$d$d$dEd$d$dd3d[Zed\        Z xZS )_Vehiclec                 >    d| _         t        t        |   |||       y )NT)
_isVehiclesuperr	   __init__)selffbid	parent_idapi	__class__s       q/var/www/webhook.estador.de/web/meta/bot/venv/lib/python3.12/site-packages/facebook_business/adobjects/vehicle.pyr   zVehicle.__init__   s    gt%dIs;    c                      e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+d*Z,d+Z-d,Z.d-Z/d.Z0d/Z1d0Z2d1Z3d2Z4d3Z5d4Z6d5Z7d6Z8d7Z9d8Z:d9Z;d:Z<d;Z=d<Z>d=Z?d>Z@d?ZAd@ZBdAZCyB)CVehicle.Fieldaddressapplinksavailabilityavailability_circle_radiusavailability_circle_radius_unit
body_stylecategory_specific_fields	conditioncurrencycustom_label_0custom_label_1custom_label_2custom_label_3custom_label_4custom_number_0custom_number_1custom_number_2custom_number_3custom_number_4date_first_on_lotdealer_communication_channeldealer_email	dealer_iddealer_namedealer_phonedealer_privacy_policy_urldescription
drivetrainexterior_color
fb_page_idfeatures	fuel_typeidimage_fetch_statusimagesinterior_colorlegal_disclosure_impressum_urlmakemileagemodelprevious_currencyprevious_pricepriceproduct_priority_0product_priority_1product_priority_2product_priority_3product_priority_4sale_currency
sale_pricesanitized_imagesstate_of_vehicletagstitletransmissiontrim
unit_priceurl
vehicle_idvehicle_registration_platevehicle_specificationsvehicle_typevin
visibilityyearN)D__name__
__module____qualname__r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW    r   r   Fieldr      sY   %%A"*K'!
#= 	)))))+++++/'E$%	#%$?!#!
)!
	1))I&/)11111'!
--%!
!
%A"!9%!
r   r\   c                   $    e Zd ZdZdZdZdZdZdZy)Vehicle.ImageFetchStatusDIRECT_UPLOADFETCHEDFETCH_FAILED	NO_STATUSOUTDATEDPARTIAL_FETCHN)	rX   rY   rZ   direct_uploadfetchedfetch_failed	no_statusoutdatedpartial_fetchr[   r   r   ImageFetchStatusr^   `   s     '%	'r   rk   c                       e Zd ZdZdZy)Vehicle.Visibility	PUBLISHEDSTAGINGN)rX   rY   rZ   	publishedstagingr[   r   r   
Visibilityrm   h   s    	r   rr   c                       e Zd ZdZdZdZdZy)Vehicle.Availability	AVAILABLENOT_AVAILABLEPENDINGUNKNOWNN)rX   rY   rZ   	availablenot_availablependingunknownr[   r   r   Availabilityrt   l   s    	'r   r}   c                   h    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZy)Vehicle.BodyStyleCONVERTIBLECOUPE	CROSSOVERESTATEGRANDTOURER	HATCHBACKMINIBUSMINIVANMPVNONEOTHERPICKUPROADSTERSALOONSEDAN	SMALL_CAR	SPORTSCARSUPERCAR	SUPERMINISUVTRUCKVANWAGONN)rX   rY   rZ   convertiblecoupe	crossoverestategrandtourer	hatchbackminibusminivanmpvnoneotherpickuproadstersaloonsedan	small_car	sportscarsupercar	superminisuvtruckvanwagonr[   r   r   	BodyStyler   r   su    #	#				r   r   c                   (    e Zd ZdZdZdZdZdZdZdZ	y)	Vehicle.Condition	EXCELLENTFAIRGOODr   r   POOR	VERY_GOODN)
rX   rY   rZ   	excellentfairgoodr   r   poor	very_goodr[   r   r   	Conditionr      s%    		r   r   c                   (    e Zd ZdZdZdZdZdZdZdZ	y)	Vehicle.DrivetrainAWDFOUR_WDFWDr   r   RWDTWO_WDN)
rX   rY   rZ   awdfour_wdfwdr   r   rwdtwo_wdr[   r   r   
Drivetrainr      s%    r   r   c                   0    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zy
)Vehicle.FuelTypeDIESELELECTRICFLEXGASOLINEHYBRIDr   r   PETROLPLUGIN_HYBRIDN)rX   rY   rZ   dieselelectricflexgasolinehybridr   r   petrolplugin_hybridr[   r   r   FuelTyper      s/    'r   r   c                       e Zd ZdZdZdZy)Vehicle.StateOfVehicleCPONEWUSEDN)rX   rY   rZ   cponewusedr[   r   r   StateOfVehicler      s    r   r   c                       e Zd ZdZdZdZdZy)Vehicle.Transmission	AUTOMATICMANUALr   r   N)rX   rY   rZ   	automaticmanualr   r   r[   r   r   Transmissionr      s    	r   r   c                   ,    e Zd ZdZdZdZdZdZdZdZ	dZ
y	)
Vehicle.VehicleTypeBOAT	CAR_TRUCK
COMMERCIAL
MOTORCYCLEr   
POWERSPORT	RV_CAMPERTRAILERN)rX   rY   rZ   boat	car_truck
commercial
motorcycler   
powersport	rv_campertrailerr[   r   r   VehicleTyper      s*    	!
!
!
	r   r   c                      y)Nvehiclesr[   )clss    r   get_endpointzVehicle.get_endpoint   s    r   c                 ^    ddl m}  || j                  |      j                  ||||||      S )Nr   )ProductCatalog)r   r   )*facebook_business.adobjects.productcatalogr   _apicreate_vehicle)	r   r   fieldsparamsbatchsuccessfailurer{   r   s	            r   
api_createzVehicle.api_create   s0    M$)))<KKFTZ\acjlsu|}}r   c                 p   ddl m} ||||j                  d       i }i }	t        | d   dd| j                  t        ||	      t        dt        |       	      }
|
j                  |       |
j                  |       ||
j                  |||
       |
S |r|
S | j                          |
j                         S )Nr   	api_utils:`success` and `failure` callback only work for batch call.r7   GET/NODEreuse_objectnode_idmethodendpointr   param_checkertarget_classapi_typeresponse_parserr  r  )facebook_business.utilsr  warningr   r  r   r	   r   
add_params
add_fieldsadd_to_batchassure_callexecuter   r  r  r  r  r  r{   r  param_typesenumsrequests              r   api_getzVehicle.api_get   s    5=g1W5H


X
Y

!J		%k59 (d;	
 	6"6"   INN??$$r   c                 f   ddl m} ||||j                  d       i dddddd	d
dddddddddddddddddddddddddddddddddd ddd!ddd"}t        j                  j
                  j                         t        j                  j
                  j                         t        j                  j
                  j                         t        j                  j
                  j                         t        j                  j
                  j                         t        j                  j
                  j                         t        j                  j
                  j                         t        j                  j
                  j                         d#}	t        | d$   d%d&| j                  t!        ||	      t        d't#        | (      )      }
|
j%                  |       |
j'                  |       ||
j)                  |||*       |
S |r|
S | j+                          |
j-                         S )+Nr   r  r  r   mapr   Objectr   availability_enumr   body_style_enumr   condition_enumr   stringr*   r-   r.   r/   r1   r2   drivetrain_enumr3   r4   r6   fuel_type_enumr9   list<Object>r:   unsigned intstate_of_vehicle_enumtransmission_enumvehicle_type_enum)r<   r=   r>   rA   rJ   rL   rM   rN   rP   rT   rU   rW   )r+  r,  r-  r/  r0  r3  r4  r5  r7   POSTr  r  r  r  r  )r  r  r  r	   r}   __dict__valuesr   r   r   r   r   r   r   r   r  r   r   r  r  r   r!  r"  r#  s              r   
api_updatezVehicle.api_update   s   5=g1W5H


X
Y
u

 /
 +	

 )
 
  
 
 8
 H
 8
 +
 h
 (
 )
  n!
" h#
$ # 7//";
@ ")!5!5!>!>!E!E!G&0099@@B%//88??A&11::AAC%..77>>@%,%;%;%D%D%K%K%M!(!5!5!>!>!E!E!G!(!4!4!=!=!D!D!F	
 "J		%k59 (d;	
 	6"6"   INN??$$r   c                    ddl m} ||||j                  d       ddlm} i }	i }
t        | d   dd| j                  t        |	|
      |dt        || j                  	      
      }|j                  |       |j                  |       ||j                  |||       |S |r|S | j                          |j                         S )Nr   r  r  )$CatalogItemChannelsToIntegrityStatusr7   r  z/channels_to_integrity_statusEDGEr  r   r  r  )r  r  r  @facebook_business.adobjects.catalogitemchannelstointegritystatusr;  r   r  r   r   r  r  r   r!  r"  )r   r  r  r  r  r  r{   r  r;  r$  r%  r&  s               r    get_channels_to_integrity_statusz(Vehicle.get_channels_to_integrity_status(  s    5=g1W5H


X
Yy

!J4		%k59=(6Z`d`i`ij	
 	6"6"   INN??$$r   c                    ddl m} ||||j                  d       ddlm} ddd}	d|j
                  j                  j                         i}
t        | d   d	d
| j                  t        |	|
      |dt        || j                              }|j                  |       |j                  |       ||j                  |||       |S |r|S | j                          |j!                         S )Nr   r  r  )OverrideDetailslist<string>	type_enum)keystyper7   r  z/override_detailsr<  r=  r  r  )r  r  r  +facebook_business.adobjects.overridedetailsrA  Typer7  r8  r   r  r   r   r  r  r   r!  r"  )r   r  r  r  r  r  r{   r  rA  r$  r%  r&  s               r   get_override_detailszVehicle.get_override_detailsG  s    5=g1W5H


X
YO"

 --66==?
 "J(		%k59((o499U	
 	6"6"   INN??$$r   c                    ddl m} ||||j                  d       ddlm} i }	i }
t        | d   dd| j                  t        |	|
      |dt        || j                  	      
      }|j                  |       |j                  |       ||j                  |||       |S |r|S | j                          |j                         S )Nr   r  r  )DynamicVideoMetadatar7   r  z/videos_metadatar<  r=  r  r  )r  r  r  0facebook_business.adobjects.dynamicvideometadatarJ  r   r  r   r   r  r  r   r!  r"  )r   r  r  r  r  r  r{   r  rJ  r$  r%  r&  s               r   get_videos_metadatazVehicle.get_videos_metadatai  s    5=g1W5H


X
YY

!J'		%k59-(6JPTPYPYZ	
 	6"6"   INN??$$r   r   r*  r   CatalogItemAppLinksr   r.  r   floatr   r   r   CatalogSubVerticalListr   r   r    r!   r"   r#   r$   r%   r2  r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   Pager5   r1  r6   r7   r8   r9   rB  r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   )rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   c                 f   i }t         j                  j                  j                         |d<   t         j                  j                  j                         |d<   t         j
                  j                  j                         |d<   t         j                  j                  j                         |d<   t         j                  j                  j                         |d<   t         j                  j                  j                         |d<   t         j                  j                  j                         |d<   t         j                  j                  j                         |d<   t         j                  j                  j                         |d	<   t         j                  j                  j                         |d
<   |S )Nrk   rr   r}   r   r   r   r   r   r   r   )r	   rk   r7  r8  rr   r}   r   r   r   r   r   r   r   )r   field_enum_infos     r   _get_field_enum_infozVehicle._get_field_enum_info  sE   .5.F.F.O.O.V.V.X*+(/(:(:(C(C(J(J(L%*1*>*>*G*G*N*N*P''.'8'8'A'A'H'H'J$'.'8'8'A'A'H'H'J$(/(:(:(C(C(J(J(L%&-&6&6&?&?&F&F&H
#,3,B,B,K,K,R,R,T()*1*>*>*G*G*N*N*P')0)<)<)E)E)L)L)N&r   )NNN)NNNNNF)rX   rY   rZ   r   r   r\   rk   rr   r}   r   r   r   r   r   r   r   classmethodr   r	  r'  r9  r?  rH  rL  _field_typesrS  __classcell__)r   s   @r   r	   r	      s   <A$$ AF( (   2    	( 	( 
    ~%<A%F%> %D%>B8B)B 	B 	%g	B
 	*8B 	hB 	#$<B 	XB 	HB 	(B 	(B 	(B 	(B 	(B 	>B  	>!B" 	>#B$ 	>%B& 	>'B( 	X)B* 	'+B, 	-B. 	X/B0 	x1B2 	3B4 	$X5B6 	x7B8 	h9B: 	(;B< 	f=B> 	N?B@ 	XABB 	hCBD 	0EBF 	.GBH 	(IBJ 	)(KBL 	MBN 	8OBP 	QBR 	XSBT 	(UBV 	WBX 	gYBZ 	g[B\ 	g]B^ 	g_B` 	gaBb 	cBd 	heBf 	NgBh % &."0 "CBLF  r   r	   N)*facebook_business.adobjects.abstractobjectr   .facebook_business.adobjects.abstractcrudobjectr   (facebook_business.adobjects.objectparserr   facebook_business.apir   facebook_business.typecheckerr   r	   r[   r   r   <module>r\     s+    F M A 1 5CCr   