
    PIi                     t    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 	  G d d	eee      Zy
)    )AbstractObject)AbstractCrudObject)ObjectParser)FacebookRequest)TypeChecker)HasAdLabels)CanValidatec                       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 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dd+Zdd,Zdd-Zdd.Zdd/Zdd0Z dd1Z!dd2Z"dd3Z#dd4Z$dd5Z%dd6Z&dd7Z'dd8Z(dd9Z)dd:Z*dd;Z+dd<Z,dd=Z-dd>Z.dd?Z/i d@dAdBdCdDdEdFdGdHdAdIdJdKdAdLdMdNdOdPdQdRdSdTddUddVdWdXdAdYdZd[dAi d\dAd]dAd^d	d_d`dadbdcdAdddAdedAdfdAdgdAdhdAdidAdjddkd`dldOdmdndodAi dpdAdqdAdrdsdtdsdudsdvdsdwdxdydzd{dAd|dGd}dAd~dAddAddAddAddAddi ddAddbddddddddsddbddddAddAdd ddAdd`ddddddddi dddddd`ddsddAddsddddddAddddOddAddddsddOddAdd`d`dAd%dZ0ed        Z1 xZ2S )AdSetc                 >    d| _         t        t        |   |||       y )NT)_isAdSetsuperr   __init__)selffbid	parent_idapi	__class__s       o/var/www/webhook.estador.de/web/meta/bot/venv/lib/python3.12/site-packages/facebook_business/adobjects/adset.pyr   zAdSet.__init__   s    eT#D)S9    c                   l   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@ZBdAZCdBZDdCZEdDZFdEZGdFZHdGZIdHZJdIZKdJZLdKZMdLZNdMZOdNZPdOZQdPZRdQZSdRZTdSZUdTZVdUZWdVZXdWZYdXZZyY)ZAdSet.Field
account_idadlabelsadset_schedule$anchor_event_attribution_window_daysasset_feed_idattribution_specautomatic_manual_statebid_adjustments
bid_amountbid_constraintsbid_infobid_strategybilling_eventbrand_safety_configbudget_remainingcampaigncampaign_active_timecampaign_attributioncampaign_idconfigured_statuscreated_timecreative_sequence$creative_sequence_repetition_patterndaily_budgetdaily_min_spend_targetdaily_spend_capdestination_typedsa_beneficiary	dsa_payoreffective_statusend_time#existing_customer_budget_percentagefrequency_control_specsfull_funnel_exploration_modeidinstagram_user_idis_ba_skip_delayed_eligibleis_budget_schedule_enabledis_dynamic_creative"is_incremental_attribution_enabledissues_infolearning_stage_infolifetime_budgetlifetime_impslifetime_min_spend_targetlifetime_spend_capmax_budget_spend_percentagemin_budget_spend_percentagemulti_optimization_goal_weightnameoptimization_goaloptimization_sub_eventpacing_typeplacement_soft_opt_outpromoted_objectrecommendationsrecurring_budget_semanticsregional_regulated_categoriesregional_regulation_identitiesreview_feedbackrf_prediction_idsource_adsetsource_adset_id
start_timestatus	targetingtargeting_optimization_types time_based_ad_rotation_id_blocks time_based_ad_rotation_intervalstrending_topics_specupdated_timeuse_new_app_clickvalue_rule_set_idvalue_rules_appliedbudget_schedule_specsbudget_sourcebudget_split_set_idcampaign_spec
daily_impsdate_formatexecution_optionsis_sac_cfca_terms_certifiedline_numberrb_prediction_id
time_start	time_stop
topline_idtune_for_categoryN)[__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/   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   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp    r   r   Fieldr   !   s   !
)/U,'-!9+!
+%'3-55#/%//U,%!9+-+	-.S+";'E$/&C#%A"3-Q*#3+'$?!1&C#&C#)I&/!9#!9++%A"(G%)I&+-%+!
	'E$+M(+M(5%//3 7'3'!
#/&C##-!
	!
/r   ru   c                       e Zd ZdZdZdZdZy)AdSet.BidStrategyCOST_CAPLOWEST_COST_WITHOUT_CAPLOWEST_COST_WITH_BID_CAPLOWEST_COST_WITH_MIN_ROASN)rq   rr   rs   cost_caplowest_cost_without_caplowest_cost_with_bid_caplowest_cost_with_min_roasrt   r   r   BidStrategyrw   {   s    ";#= $?!r   r   c                   8    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y)AdSet.BillingEventAPP_INSTALLSCLICKSIMPRESSIONSLINK_CLICKSLISTING_INTERACTIONNONEOFFER_CLAIMS
PAGE_LIKESPOST_ENGAGEMENTPURCHASETHRUPLAYN)rq   rr   rs   app_installsclicksimpressionslink_clickslisting_interactionnoneoffer_claims
page_likespost_engagementpurchasethruplayrt   r   r   BillingEventr      s:    %##3%!
+r   r   c                       e Zd ZdZdZdZdZy)AdSet.ConfiguredStatusACTIVEARCHIVEDDELETEDPAUSEDNrq   rr   rs   activearchiveddeletedpausedrt   r   r   ConfiguredStatusr          r   r   c                   (    e Zd ZdZdZdZdZdZdZdZ	y)	AdSet.EffectiveStatusr   r   CAMPAIGN_PAUSEDr   
IN_PROCESSr   WITH_ISSUESN)
rq   rr   rs   r   r   campaign_pausedr   
in_processr   with_issuesrt   r   r   EffectiveStatusr      s%    +!
#r   r   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!y )!AdSet.OptimizationGoalADVERTISER_SILOED_VALUEAD_RECALL_LIFTr   $APP_INSTALLS_AND_OFFSITE_CONVERSIONSAUTOMATIC_OBJECTIVECONVERSATIONSDERIVED_EVENTSENGAGED_USERSEVENT_RESPONSESr   IN_APP_VALUELANDING_PAGE_VIEWSLEAD_GENERATIONr   MEANINGFUL_CALL_ATTEMPT MESSAGING_APPOINTMENT_CONVERSIONMESSAGING_PURCHASE_CONVERSIONr   OFFSITE_CONVERSIONSr   r   PROFILE_AND_PAGE_ENGAGEMENTPROFILE_VISITQUALITY_CALLQUALITY_LEADREACHREMINDERS_SETSUBSCRIBERSr   VALUEVISIT_INSTAGRAM_PROFILEN)"rq   rr   rs   advertiser_siloed_valuead_recall_liftr   $app_installs_and_offsite_conversionsautomatic_objectiveconversationsderived_eventsengaged_usersevent_responsesr   in_app_valuelanding_page_viewslead_generationr   meaningful_call_attempt messaging_appointment_conversionmessaging_purchase_conversionr   offsite_conversionsr   r   profile_and_page_engagementprofile_visitquality_callquality_leadreachreminders_setsubscribersr   valuevisit_instagram_profilert   r   r   OptimizationGoalr      s    ";)%/U,3')'+#%1+#";+M((G%3!
+&C#'%%'#";r   r   c                       e Zd ZdZdZdZdZy)AdSet.Statusr   r   r   r   Nr   rt   r   r   Statusr      r   r   r   c                       e Zd ZdZdZdZy)AdSet.AutomaticManualState	AUTOMATICMANUALUNSETN)rq   rr   rs   	automaticmanualunsetrt   r   r   AutomaticManualStater      s    	r   r   c                       e Zd ZdZdZy)AdSet.BudgetSourcer   RMNN)rq   rr   rs   r   rmnrt   r   r   BudgetSourcer      s    r   r   c                       e Zd ZdZdZy)'AdSet.CreativeSequenceRepetitionPatternFULL_SEQUENCELAST_ADN)rq   rr   rs   full_sequencelast_adrt   r   r   !CreativeSequenceRepetitionPatternr      s    'r   r   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y)AdSet.DatePresetDATA_MAXIMUMLAST_14DLAST_28DLAST_30DLAST_3DLAST_7DLAST_90D
LAST_MONTHLAST_QUARTERLAST_WEEK_MON_SUNLAST_WEEK_SUN_SAT	LAST_YEARMAXIMUM
THIS_MONTHTHIS_QUARTERTHIS_WEEK_MON_TODAYTHIS_WEEK_SUN_TODAY	THIS_YEARTODAY	YESTERDAYN)rq   rr   rs   data_maximumlast_14dlast_28dlast_30dlast_3dlast_7dlast_90d
last_monthlast_quarterlast_week_mon_sunlast_week_sun_sat	last_yearmaximum
this_monththis_quarterthis_week_mon_todaythis_week_sun_today	this_yeartoday	yesterdayrt   r   r   
DatePresetr      sj    %!
%//	!
%33		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)AdSet.DestinationTypeAPPAPPLINKS_AUTOMATICFACEBOOKFACEBOOK_LIVEFACEBOOK_PAGEIMAGINEINSTAGRAM_DIRECTINSTAGRAM_LIVEINSTAGRAM_PROFILE#INSTAGRAM_PROFILE_AND_FACEBOOK_PAGE$MESSAGING_INSTAGRAM_DIRECT_MESSENGER-MESSAGING_INSTAGRAM_DIRECT_MESSENGER_WHATSAPP#MESSAGING_INSTAGRAM_DIRECT_WHATSAPPMESSAGING_MESSENGER_WHATSAPP	MESSENGERON_ADON_EVENTON_PAGEON_POSTON_VIDEOSHOP_AUTOMATICWEBSITEWHATSAPPN)rq   rr   rs   appapplinks_automaticfacebookfacebook_livefacebook_pageimagineinstagram_directinstagram_liveinstagram_profile#instagram_profile_and_facebook_page$messaging_instagram_direct_messenger-messaging_instagram_direct_messenger_whatsapp#messaging_instagram_direct_whatsappmessaging_messenger_whatsapp	messengeron_adon_eventon_pageon_poston_videoshop_automaticwebsitewhatsapprt   r   r   DestinationTyper'     s}    1''-)/.S+/U,8g5.S+'E$	)r   rV  c                       e Zd ZdZdZy)AdSet.ExecutionOptionsinclude_recommendationsvalidate_onlyN)rq   rr   rs   rY  rZ  rt   r   r   ExecutionOptionsrX     s    ";'r   r[  c                       e Zd ZdZdZdZy)AdSet.FullFunnelExplorationModeEXTENDED_EXPLORATIONLIMITED_EXPLORATIONNONE_EXPLORATIONN)rq   rr   rs   extended_explorationlimited_explorationnone_explorationrt   r   r   FullFunnelExplorationModer]    s    53-r   rd  c                       e Zd ZdZdZdZdZy)!AdSet.MultiOptimizationGoalWeightBALANCEDPREFER_EVENTPREFER_INSTALL	UNDEFINEDN)rq   rr   rs   balancedprefer_eventprefer_install	undefinedrt   r   r   MultiOptimizationGoalWeightrf  	  s    %)	r   ro  c                   8    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y)AdSet.OptimizationSubEventr   POST_INTERACTIONTRAVEL_INTENTTRAVEL_INTENT_BUCKET_01TRAVEL_INTENT_BUCKET_02TRAVEL_INTENT_BUCKET_03TRAVEL_INTENT_BUCKET_04TRAVEL_INTENT_BUCKET_05#TRAVEL_INTENT_NO_DESTINATION_INTENTTRIP_CONSIDERATIONVIDEO_SOUND_ONN)rq   rr   rs   r   post_interactiontravel_intenttravel_intent_bucket_01travel_intent_bucket_02travel_intent_bucket_03travel_intent_bucket_04travel_intent_bucket_05#travel_intent_no_destination_intenttrip_considerationvideo_sound_onrt   r   r   OptimizationSubEventrq    sA    -'";";";";";.S+1)r   r  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y)!AdSet.RegionalRegulatedCategories0123456789101112N)rq   rr   rs   value_0value_1value_2value_3value_4value_5value_6value_7value_8value_9value_10value_11value_12rt   r   r   RegionalRegulatedCategoriesr    sC    r   r  c                   (    e Zd ZdZdZdZdZdZdZdZ	y)	AdSet.TuneForCategoryCREDIT
EMPLOYMENTFINANCIAL_PRODUCTS_SERVICESHOUSINGISSUES_ELECTIONS_POLITICSr   ONLINE_GAMBLING_AND_GAMINGN)
rq   rr   rs   credit
employmentfinancial_products_serviceshousingissues_elections_politicsr   online_gambling_and_gamingrt   r   r   TuneForCategoryr  +  s(    !
&C#$?!%A"r   r  c                       e Zd ZdZdZy)AdSet.OperatorALLANYN)rq   rr   rs   allanyrt   r   r   Operatorr  4  s    r   r  c                       e Zd ZdZdZdZy)AdSet.StatusOptionr   INHERITED_FROM_SOURCEr   N)rq   rr   rs   r   inherited_from_sourcer   rt   r   r   StatusOptionr  8  s     7r   r  c                      y)Nadsetsrt   )clss    r   get_endpointzAdSet.get_endpoint>  s    r   c                 ^    ddl m}  || j                  |      j                  ||||||      S )Nr   )	AdAccount)r   r   )%facebook_business.adobjects.adaccountr  _apicreate_ad_set)	r   r   fieldsparamsbatchsuccessfailurependingr  s	            r   
api_createzAdSet.api_createC  s/    CTYYY7EEffV[]dfmovwwr   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.r;   DELETE/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_deletezAdSet.api_deleteG  s    5=g1W5H


X
Y

!J		%k59+(d;	
 	6"6"   INN??$$r   c                    ddl m} ||||j                  d       ddddd}dg di}	t        | d	   d
d| j                  t        ||	      t        dt        |             }
|
j                  |       |
j                  |       ||
j                  |||       |
S |r|
S | j                          |
j                         S )Nr   r  r  mapdate_preset_enumbool)am_call_tagsdate_presetfrom_adtable
time_range)r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r$  r;   GETr  r  r  r  r  )r  r  r  r   r  r   r   r   r  r  r  r  r  r  s              r   api_getzAdSet.api_gete  s    5=g1W5H


X
Y!-"	
  !
0 "J		%k59(d;	
 	6"6"   INN??$$r   c                    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i d!dd"dd#dd$d%d&dd'dd(d)d*d+d,dd-d.d/d0d1d0d2d0d3d0d4dd5dd6di d7dd8dd9dd:d;d<dd=d>d?d@dAddBddCddDddEdFdGdHdIddJd)dKdLdMdNdOdPd)d)dHdQdd0dR}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                         t        j                  j
                  j                         t        j                  j
                  j                         t        j                   j
                  j                         t        j"                  j
                  j                         t        j$                  j
                  j                         dS}	t'        | dT   dUdV| j(                  t+        ||	      t        dWt-        | X      Y      }
|
j/                  |       |
j1                  |       ||
j3                  |||Z       |
S |r|
S | j5                          |
j7                         S )[Nr   r  r  r   stringr   list<Object>r   r   	list<map>r   automatic_manual_state_enumr    Objectr!   intr"   zmap<string, Object>r$   bid_strategy_enumr%   billing_event_enumrc   r*   rf   r.   list<string>r/   )creative_sequence_repetition_pattern_enumr0   unsigned intrg   r1   r2   rh   r3   destination_type_enumr4   r5   r7   datetimeri   list<execution_options_enum>r8   r:   !full_funnel_exploration_mode_enumr=   r  r>   r@   rj   rC   rD   rE   rF   rG   rH   rI   #multi_optimization_goal_weight_enumrJ   rK   optimization_goal_enumrL   optimization_sub_event_enumrM   rN   rO   rl   rR   z(list<regional_regulated_categories_enum>rS   r  rU   rX   rY   status_enumrZ   	Targetingzlist<list<unsigned int>>list<unsigned int>tune_for_category_enum)r\   r]   rm   rn   r^   rp   ra   rb   )r  r  r  r  r  execution_options_enumr  r  r  r	  "regional_regulated_categories_enumr
  r  r;   POSTr  r  r  r  r  )r  r  r  r   r   __dict__valuesr   r   r   rV  r[  rd  ro  r   r  r  r   r  r   r  r   r   r  r  r  r  r  r  s              r   
api_updatezAdSet.api_update  s   5=g1W5H


X
Y<
(<
<
 n<
 	<

 %&C<
 x<
 %<
 4<
 /<
 1<
 $^<
 #H<
 X<
  <
 34_<
  N!<
" .#<
$ %n%<
& ~'<
( 8)<
*  7+<
, x-<
. /<
0 
1<
2  !?3<
4 2>5<
6 +,O7<
8 *69<
: )&;<
< 1&=<
> *6?<
@ ~A<
B ^C<
D (E<
F !.G<
H *>I<
J *>K<
L -.SM<
N HO<
P  !9Q<
R %&CS<
T >U<
V %hW<
X xY<
Z [<
\ ,-W]<
^ -e_<
` a<
b *c<
d me<
f g<
h 1K0D$#$)!9!)#)w<
| ,1+E+E+N+N+U+U+W!&!2!2!;!;!B!B!D"'"4"4"="="D"D"F9>9`9`9i9i9p9p9r%*%:%:%C%C%J%J%L&+&<&<&E&E&L&L&N161P1P1Y1Y1`1`1b383T3T3]3]3d3d3f&+&<&<&E&E&L&L&N+0+E+E+N+N+U+U+W272S2S2\2\2c2c2e <<00779&+&;&;&D&D&K&K&M
 "J		%k59(d;	
 	6"6"   INN??$$r   c                    ddl m} ||||j                  d       ddlm} ddddd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  )
AdActivityr  category_enumr  r  )afterbusiness_idcategorylimitsinceuiduntilr;   r  z/activitiesEDGEr  r   r  r  )r  r  r  &facebook_business.adobjects.adactivityr  Categoryr  r  r   r  r   r   r  r  r  r  r  )r   r  r  r  r  r  r  r  r  r  r  r  s               r   get_activitieszAdSet.get_activities  s   5=g1W5H


X
YE#'
 Z0099@@B
 "J"		%k59#(jdiiP	
 	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  )AdStudyr;   r  z/ad_studiesr  r  r  r  )r  r  r  #facebook_business.adobjects.adstudyr$  r   r  r   r   r  r  r  r  r  )r   r  r  r  r  r  r  r  r$  r  r  r  s               r   get_ad_studieszAdSet.get_ad_studies*  s    5=g1W5H


X
Y?

!J"		%k59 (g499M	
 	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  )
AdCreativer;   r  z/adcreativesr  r  r  r  )r  r  r  &facebook_business.adobjects.adcreativer(  r   r  r   r   r  r  r  r  r  )r   r  r  r  r  r  r  r  r(  r  r  r  s               r   get_ad_creativeszAdSet.get_ad_creativesI  s    5=g1W5H


X
YE

!J#		%k59#(jdiiP	
 	6"6"   INN??$$r   c                    ddl m} ||||j                  d       ddd}dt        j                  j
                  j                         i}	t        | d   d	d
| j                  t        ||	      t        dt        t        | j                              }
|
j                  |       |
j                  |       ||
j                  |||       |
S |r|
S | j                          |
j!                         S )Nr   r  r  r  r  r   ri   r  r;   r  	/adlabelsr  r  r  r  )r  r  r  r   r[  r  r  r   r  r   r   r   r  r  r  r  r  r  s              r   delete_ad_labelszAdSet.delete_ad_labelsh  s    5=g1W5H


X
Y&!?

 %e&<&<&E&E&L&L&N
 "J 		%k59+(6HdiiX	
 	6"6"   INN??$$r   c                    ddl m} ||||j                  d       ddd}dt        j                  j
                  j                         i}	t        | d   d	d
| j                  t        ||	      t        dt        t        | j                              }
|
j                  |       |
j                  |       ||
j                  |||       |
S |r|
S | j                          |
j                         S )Nr   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  r  r  r  r  r  s              r   create_ad_labelzAdSet.create_ad_label  s    5=g1W5H


X
Y&!?

 %e&<&<&E&E&L&L&N
 "J 		%k59(eK	
 	6"6"   INN??$$r   c                    ddl m} ||||j                  d       ddlm} ddi}	i }
t        | d   dd	| j                  t        |	|
      |d
t        || j                              }|j                  |       |j                  |       ||j                  |||       |S |r|S | j                          |j                         S )Nr   r  r  )AdRulepass_evaluationr  r;   r  z/adrules_governedr  r  r  r  )r  r  r  "facebook_business.adobjects.adruler2  r   r  r   r   r  r  r  r  r  )r   r  r  r  r  r  r  r  r2  r  r  r  s               r   get_ad_rules_governedzAdSet.get_ad_rules_governed  s    5=g1W5H


X
Y=v

!J(		%k59(f$))L	
 	6"6"   INN??$$r   c                    ddl m} ||||j                  d       ddlm} dd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  )Adr  r   r  r  )r  r6   r  updated_sincer;   r  z/adsr  r  r  r  )r  r  r  facebook_business.adobjects.adr7  r%  r  r  r   r  r   r   r  r  r  r  r  )r   r  r  r  r  r  r  r  r7  r  r  r  s               r   get_adszAdSet.get_ads  s    5=g1W5H


X
Y5- ."	
  6 6 = = ?
 "J		%k59(bdiiH	
 	6"6"   INN??$$r   c                    ddl m} ||||j                  d       ddlm} ddi}	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  )AdAsyncRequeststatuseszlist<statuses_enum>statuses_enumr;   r  z/asyncadrequestsr  r  r  r  )r  r  r  *facebook_business.adobjects.adasyncrequestr<  Statusesr  r  r   r  r   r   r  r  r  r  r  )r   r  r  r  r  r  r  r  r<  r  r  r  s               r   get_async_ad_requestszAdSet.get_async_ad_requests  s    5=g1W5H


X
YM-
 ^44==DDF
 "J'		%k59'(n$))T	
 	6"6"   INN??$$r   c                    ddl m} ||||j                  d       ddlm} ddd}	i }
t        | d   dd	| j                  t        |	|
      |d
t        || j                              }|j                  |       |j                  |       ||j                  |||       |S |r|S | j                          |j                         S )Nr   r  r  HighDemandPeriodr  )rm   rn   r;   r  /budget_schedulesr  r  r  r  )r  r  r  ,facebook_business.adobjects.highdemandperiodrD  r   r  r   r   r  r  r  r  r  r   r  r  r  r  r  r  r  rD  r  r  r  s               r   get_budget_scheduleszAdSet.get_budget_schedules  s    5=g1W5H


X
YQ$#

!J(		%k59)(6FDIIV	
 	6"6"   INN??$$r   c                    ddl m} ||||j                  d       ddlm} dd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  rC  r  budget_value_type_enum)budget_valuebudget_value_typetime_endrm   r;   r  rE  r  r  r  r  )r  r  r  rF  rD  BudgetValueTyper  r  r   r  r   r   r  r  r  r  r  rG  s               r   create_budget_schedulezAdSet.create_budget_schedule0  s    5=g1W5H


X
YQ*!9&(	
 %&6&F&F&O&O&V&V&X
 "J(		%k59)(6FDIIV	
 	6"6"   INN??$$r   c                 6   ddl m} ||||j                  d       ddddd}t        j                  j
                  j                         t        j                  j
                  j                         d	}	t        | d
   dd| j                  t        ||	      t        dt        t        | j                              }
|
j                  |       |
j                  |       ||
j                  |||       |
S |r|
S | j                          |
j!                         S )Nr   r  r  r  zlist<effective_status_enum>r  r  )r  r6   is_completedr  )r  effective_status_enumr;   r  /copiesr  r  r  r  )r  r  r  r   r%  r  r  r   r   r  r   r   r  r  r  r  r  r  s              r   
get_copieszAdSet.get_copiesT  s   5=g1W5H


X
Y- ="	
 !& 0 0 9 9 @ @ B%*%:%:%C%C%J%J%L
 "J		%k59(eK	
 	6"6"   INN??$$r   c                    ddl m} ||||j                  d       dddddddd	}dt        j                  j
                  j                         i}	t        | d
   dd| j                  t        ||	      t        dt        t        | j                              }
|
j                  |       |
j                  |       ||
j                  |||       |
S |r|
S | j                          |
j                         S )Nr   r  r  r  r  r  r  status_option_enum)r+   create_dco_adset	deep_copyr7   rename_optionsrX   status_optionr;   r  rS  r  r  r  r  )r  r  r  r   r  r  r  r   r  r   r   r  r  r  r  r  r  s              r   create_copyzAdSet.create_copyx  s    5=g1W5H


X
Y# &"&$1
 !%"4"4"="="D"D"F
 "J		%k59(eK	
 	6"6"   INN??$$r   c                    ddl m} ||||j                  d       ddlm} d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  )AdCampaignDeliveryEstimater  r  r  )rK   rO   targeting_specr;   r  z/delivery_estimater  r  r  r  )r  r  r  6facebook_business.adobjects.adcampaigndeliveryestimater]  r   r  r  r   r  r   r   r  r  r  r  r  )r   r  r  r  r  r  r  r  r]  r  r  r  s               r   get_delivery_estimatezAdSet.get_delivery_estimate  s    5=g1W5H


X
Ye!9')
 %&@&Q&Q&Z&Z&a&a&c
 "J)		%k593(6PVZV_V_`	
 	6"6"   INN??$$r   c                     ddl m} ||||j                  d       ddlm}	 |r| j                  ||||||      S 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$}
|	j                  j                  j                         |	j                  j                  j                         |	j                  j                  j                         |	j                  j                  j                         |	j                  j                  j                         |	j                  j                  j                         |	j                  j                  j                         d%}t        | d&   d'd(| j                   t#        |
|      |	d)t%        |	| j                   *      d+,	      }|j'                  |       |j)                  |       ||j+                  |||-       |S |r|S | j-                          |j/                         S ).Nr   r  r  AdsInsightsaction_attribution_windows%list<action_attribution_windows_enum>action_breakdownslist<action_breakdowns_enum>action_report_timeaction_report_time_enum
breakdownslist<breakdowns_enum>r  r  default_summaryr  export_columnsr   export_formatr  export_namer  	filteringr  graph_cachelevel
level_enumr  r  product_id_limitsortsummary$list<summary_action_breakdowns_enum>r  r  summary_action_breakdownstime_incrementr  time_rangesuse_account_attribution_settinguse_unified_attribution_settingaction_attribution_windows_enumaction_breakdowns_enumri  breakdowns_enumr  rs  summary_action_breakdowns_enumr;   r  	/insightsr  r  F	r  r  r  r   r  r  r  r  include_summaryr  )r  r  r  'facebook_business.adobjects.adsinsightsrc  get_insights_asyncActionAttributionWindowsr  r  ActionBreakdownsActionReportTime
Breakdownsr%  LevelSummaryActionBreakdownsr   r  r   r   r  r  r  r  r  )r   r  r  is_asyncr  r  r  r  r  rc  r  r  r  s                r   get_insightszAdSet.get_insights  s   5=g1W5H


X
YG((RYZ
Z
(*Q
!?
 !";
 1	

 -
 v
 n
 X
 8
 n
 
 6
 \
 U
 
  N!
" ~#
$ *P&&/5/5/
4 0;/S/S/\/\/c/c/e&1&B&B&K&K&R&R&T'2'C'C'L'L'S'S'U*55>>EEG + 6 6 ? ? F F H%++44;;=.9.Q.Q.Z.Z.a.a.c
 "J 		%k59$(ktyyQ!

 	6"6"   INN??$$r   c                 x   ddl m} ||||j                  d       ddlm} ddlm}	 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%}
|	j                  j                  j                         |	j                  j                  j                         |	j                  j                  j                         |	j                  j                  j                         |	j                  j                  j                         |	j                  j                  j                         |	j                  j                  j                         d&}|Lj!                  d      j!                  d      n	t#               d<   d   j%                  fd'|D               t'        | d(   d)d*| j(                  t+        |
|      |d+t-        || j(                  ,      d-.	      }|j/                         ||j1                  |||/       |S |r|S | j3                          |j5                         S )0Nr   r  r  )AdReportRunrb  rd  re  rf  rg  rh  ri  rj  rk  r  r  rl  r  rm  r   rn  r  ro  r  rp  r  rq  rr  rs  r  r  rt  ru  rv  rw  r  r  rx  r~  c              3   2   K   | ]  }|d    vs|  yw)r  Nrt   ).0fieldr  s     r   	<genexpr>z+AdSet.get_insights_async.<locals>.<genexpr>,  s     #_efU]N^A^E#_s   r;   r  r  r  r  Fr  r  )r  r  r  'facebook_business.adobjects.adreportrunr  r  rc  r  r  r  r  r  r  r%  r  r  getlistextendr   r  r   r   r  r  r  r  )r   r  r  r  r  r  r  r  r  rc  r  r  r  s     `          r   r  zAdSet.get_insights_async  s   5=g1W5H


X
YGG
(*Q
!?
 !";
 1	

 -
 v
 n
 X
 8
 n
 
 6
 \
 U
 
  N!
" ~#
$ *P&&/5/5/
4 0;/S/S/\/\/c/c/e&1&B&B&K&K&R&R&T'2'C'C'L'L'S'S'U*55>>EEG + 6 6 ? ? F F H%++44;;=.9.Q.Q.Z.Z.a.a.c
 7=zz(7K7Wvzz(3]a]cF88###_v#__!J 		%k59$(ktyyQ!

 	6"   INN??$$r   c                 ,   ddl m} ||||j                  d       ddlm} dddddddd	d
d	}	|j
                  j                  j                         |j                  j                  j                         d}
t        | d   dd| j                  t        |	|
      |dt        || j                              }|j                  |       |j                  |       ||j                  |||       |S |r|S | j!                          |j#                         S )Nr   r  r  )MessageDeliveryEstimater  r  r  pacing_type_enumr  r  )	r!   r0   is_direct_send_campaignrC   lifetime_in_daysrK   rM   rO   r^  )r  r  r;   r  z/message_delivery_estimater  r  r  r  )r  r  r  3facebook_business.adobjects.messagedeliveryestimater  r   r  r  
PacingTyper   r  r   r   r  r  r  r  r  )r   r  r  r  r  r  r  r  r  r  r  r  s               r   get_message_delivery_estimatez#AdSet.get_message_delivery_estimateD  s"   5=g1W5H


X
Y_(*'-- .!9-')

 '>&N&N&W&W&^&^&` 7 B B K K R R T
 "J1		%k590(6MSWS\S\]	
 	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  )TargetingSentenceLiner;   r  z/targetingsentencelinesr  r  r  r  )r  r  r  1facebook_business.adobjects.targetingsentenceliner  r   r  r   r   r  r  r  r  r  )r   r  r  r  r  r  r  r  r  r  r  r  s               r   get_targeting_sentence_linesz"AdSet.get_targeting_sentence_linesn  s    5=g1W5H


X
Y[

!J.		%k59.(6KQUQZQZ[	
 	6"6"   INN??$$r   r   r  r   zlist<AdLabel>r   zlist<DayPart>r   r  r   r   zlist<AttributionSpec>r   r    AdBidAdjustmentsr!   r  r"   AdCampaignBidConstraintr#   zmap<string, unsigned int>r$   r%   r&   BrandSafetyCampaignConfigr'   r(   Campaignr)   r*   r+   r,   r-   r  r.   r   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   z%list<AdCampaignFrequencyControlSpecs>r:   r;   r<   r=   r  r>   r?   r@   rA   zlist<AdCampaignIssuesInfo>rB   AdCampaignLearningStageInforC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   PlacementSoftOptOutrO   AdPromotedObjectrP   zlist<AdRecommendation>rQ   rR   rS   RegionalRegulationIdentitiesrT   rU   rV   rW   rX   rY   rZ   r  r[   zlist<map<string, int>>r\   zlist<list<int>>r]   r  r^   TrendingTopicsSpecr_   r`   ra   rb   rc   r  rd   re   rf   r  rg   rh   ri   zlist<ExecutionOptions>rj   rk   rl   rm   )rn   ro   rp   c                 l   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
<   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 )Nr   r   r   r   r   r   r   r   r   r%  rV  r[  rd  ro  r  r  r  r  r  )r   r   r  r  r   r   r   r   r   r   r   r   r%  rV  r[  rd  ro  r  r  r  r  r  )r  field_enum_infos     r   _get_field_enum_infozAdSet._get_field_enum_info  sb   ).):):)C)C)J)J)L&*/*<*<*E*E*L*L*N'.3.D.D.M.M.T.T.V*+-2-B-B-K-K-R-R-T)*.3.D.D.M.M.T.T.V*+$)LL$9$9$@$@$B!272L2L2U2U2\2\2^./*/*<*<*E*E*L*L*N'?D?f?f?o?o?v?v?x;<(-(8(8(A(A(H(H(J%-2-B-B-K-K-R-R-T)*.3.D.D.M.M.T.T.V*+7<7V7V7_7_7f7f7h349>9Z9Z9c9c9j9j9l56272L2L2U2U2\2\2^./9>9Z9Z9c9c9j9j9l56-2-B-B-K-K-R-R-T)*&+nn&=&=&D&D&F
#*/*<*<*E*E*L*L*N'r   )NNN)NNNNNF)NNFNNNF)3rq   rr   rs   r   r   ru   r   r   r   r   r   r   r   r   r   r%  rV  r[  rd  ro  r  r  r  r  r  classmethodr  r  r  r  r  r"  r&  r*  r.  r0  r5  r:  rA  rH  rO  rT  r[  r`  r  r  r  r  _field_typesr  __classcell__)r   s   @r   r   r      sm   :X0$$ X0t@ @  $ $< <B  
     , 2( (. .
   * * B B    x%<6%pd%L%%N%>%>%B%B%@"%H%B%B"%H"%H$%L!%F>%@A%F(%T%>YhYOY 	/Y 	/	Y
 	Y 	3Y 	!(Y 	-Y 	nY 	4Y 	/Y 	Y 	Y 	:Y 	HY  	J!Y" 	#Y$ 	%Y& 	x'Y( 	/)Y* 	
+Y, 	^-Y. 	//Y0 	1Y2 	!(3Y4 	85Y6 	H7Y8 	89Y: 	X;Y< 	-=Y> 	J?Y@ 	.~AYB 	"#JCYD 	'EYF 	hGYH 	XIYJ 	&vKYL 	%fMYN 	vOYP 	-fQYR 	3SYT 	<UYV 	8WYX 	YYZ 	$X[Y\ 	h]Y^ 	&x_Y` 	&xaYb 	)(cYd 	eYf 	/gYh 	!(iYj 	~kYl 	!"7mYn 	-oYp 	3qYr 	%fsYt 	(uYv 	)*HwYx 	8yYz 	H{Y| 	}Y~ 	8Y@ 	jAYB 	(CYD 	[EYF 	'(@GYH 	+,=IYJ 	+,@KYL 	 4MYN 	
OYP 	VQYR 	XSYT 	vUYV 	 WYX 	YYZ 	x[Y\ 	]Y^ 	n_Y` 	xaYb 	5cYd 	&veYf 	~gYh 	HiYj 	jkYl  .qYLt  r   r   N)*facebook_business.adobjects.abstractobjectr   .facebook_business.adobjects.abstractcrudobjectr   (facebook_business.adobjects.objectparserr   facebook_business.apir   facebook_business.typecheckerr   facebook_business.mixinsr   r	   r   rt   r   r   <module>r     s7    F M A 1 5 0 0ffr   