
    BQIiV!                        d dl 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Z e         ej                    e j"                  d	      
        e j"                  d      Zddededz  fdZddefdZdefdZy)    N)load_dotenv)FacebookAdsApi)	AdAccount)AdSet)Campaign)Ad)FacebookRequestErrorFB_ACCESS_TOKEN)access_tokenAD_ACCOUNT_IDad_iddest_adset_idc                    t        |       j                  t         j                  j                  t         j                  j                  t         j                  j
                  g      }|j                  t         j                  j
                        xs i }|j                  d      }|st        d      t         j                  j                  |t         j                  j                     d|xs |t         j                  j                     dd|it         j                  j                  di}t        t              j                  |      }t        d	|t         j                  j                            |t         j                  j                     S )
NfieldsidzGSource ad has no creative id; cannot duplicate with this simple method.adset_idcreativecreative_idPAUSEDparamsz
New ad id:)r   api_getFieldnamer   r   get
SystemExitstatusr   r   	create_adprintr   )r   r   srcr   r   r   createds          6/var/www/webhook.estador.de/web/meta/bot/duplicater.pyduplicate_adr$      s   
U)




$
 C wwrxx(()/RH,,t$Kbcc 	s288==)M;S):):%;]K0
	F &000?G	,,-288;;    r   c                 T
   t        |       j                  t         j                  j                  t         j                  j                  t         j                  j
                  t         j                  j                  t         j                  j                  t         j                  j                  t         j                  j                  t         j                  j                  dg	      }d } ||j                  t         j                  j                              } ||j                  t         j                  j                              }|j                  d      xs d}t         j                  j                  |t         j                  j                     t         j                  j                  |t         j                  j                     t         j                  j
                  |t        |dz        n(|j                  t         j                  j
                        t         j                  j                  |t         j                  j                     t         j                  j                  |t         j                  j                     t         j                  j                  |t         j                  j                  dt         j                  j                  |t         j                  j                  t         j                  j                   d|i
}|j                  t         j                  j                        rD|j                  t         j                  j                        |t         j                  j                  <   t#        t$              j'                  |      }|t         j                  j(                     }	t+        d|	       g }
t-        t        |       j/                  t0        j                  j(                  t0        j                  j                  t0        j                  j2                  gd	g d
d            }|D ]  }|j                  t0        j                  j2                        xs i }|j                  d      }|sDt0        j                  j                  |t0        j                  j                     d|	dd|it0        j                  j                  di}t#        t$              j5                  |      }|
j7                  |t0        j                  j(                             t+        d|
       |	|
fS )Ndestination_typer   c                     t        | t              r	 t        j                  |       S t        | xs i       S # t        $ r i cY S w xY wN)
isinstancestrjsonloads	Exceptiondict)vs    r#   to_dictz duplicate_adset.<locals>.to_dict8   sE    azz!}$ AG}  	s   6 AAON_ADd   r   r   zNew ad set id:   )ACTIVEr   ARCHIVED)limiteffective_statusr   r   r   r   r   r   zNew ad ids:)r   r   r   r   campaign_iddaily_budgetbilling_eventoptimization_goal
bid_amount	targetingpromoted_objectr   intr   bid_strategyBidStrategylowest_cost_without_capr   r   create_ad_setr   r    listget_adsr   r   r   append)r   budgetr!   r1   r?   r@   	dest_typer   created_adsetnew_adset_id
new_ad_idsadsar   r   	ad_paramsnew_ads                    r#   duplicate_adsetrR   )   su   
/
!
!  !!%%##
*
! 
C  5 567Icggekk&A&ABCO*+6wI 	#ekk../U[[%<%<!=  v7I#fsl"3swwW\WbWbWoWoOp!!3u{{'@'@#A%%s5;;+H+H'IyH##_  %"3"3"K"KIF wwu{{%%&),1G1G)Hu{{%%&m,::&:IM 0L	
L) J
hHHKK0A0AB 6TU 	  	
C  /55**+1rll4(HHMM1RXX]]+4HHOOX	
	 =)3393E&-./ 
-$##r%   r:   c                    t        |       j                  t         j                  j                  t         j                  j                  t         j                  j
                  t         j                  j                  t         j                  j                  t         j                  j                  ddg      }t        |j                  d      xs |j                  d            }t         j                  j                  |t         j                  j                     t         j                  j                  |j                  t         j                  j                        t         j                  j
                  |j                  t         j                  j
                        t         j                  j                  |j                  t         j                  j                        xs g t         j                  j                  |j                  t         j                  j                        xs g t         j                  j                  di}|r|j                  d      r|j                  d      |d<   |j                  d      r|j                  d      |d<   |j                  t         j                  j                        rD|j                  t         j                  j                        |t         j                  j                  <   t        t              j                  |      }|t         j                  j                     }t!        d|       t        |       j#                  t$        j                  j                  t$        j                  j                  t$        j                  j&                  t$        j                  j(                  t$        j                  j*                  t$        j                  j,                  t$        j                  j.                  t$        j                  j0                  dt$        j                  j2                  g
dd	i
      D ]9  }t$        j                  j                  |t$        j                  j                     t$        j                  j4                  |t$        j                  j&                  |j                  t$        j                  j&                        t$        j                  j(                  |j                  t$        j                  j(                        t$        j                  j*                  |j                  t$        j                  j*                        t$        j                  j.                  t7        |j                  t$        j                  j.                        xs i       t$        j                  j                  dt$        j                  j0                  t7        |j                  t$        j                  j0                        xs i       d|j                  d      xs di	}|j                  t$        j                  j,                        rD|j                  t$        j                  j,                        |t$        j                  j,                  <   |j                  t$        j                  j2                        rD|j                  t$        j                  j2                        |t$        j                  j2                  <   	 t        t              j9                  |      }|t$        j                  j                     }
t!        d|
       t%        |d         jA                  tB        j                  j                  tB        j                  jD                  gdd	i
      D ]  }|j                  tB        j                  jD                        xs i j                  d      }|sBtB        j                  j                  |tB        j                  j                     d|
dd|itB        j                  j                  di}t        t              jG                  |      }t!        d|tB        j                  j                             < |S # t:        $ rh}	dt=        |	      v rO|j?                  t$        j                  j,                  d        d|d<   t        t              j9                  |      }n Y d }	~	d }	~	ww xY w)Nr;   lifetime_budgetr   r   r   u   ✔ New campaign:r'   r7   r4   r9   r2   2490487LOWEST_COST_WITHOUT_CAPrB   u     ↳ New ad set:r   r   r   r   u       • New ad:)$r   r   r   r   	objectivebuying_typespecial_ad_categoriesspecial_ad_category_countryrB   boolr   r   r   r   create_campaignr   r    get_ad_setsr   r;   r<   r=   r>   r?   r@   end_timer:   r/   rE   r	   r+   poprG   r   r   r   )r:   cis_cbor   new_campaignnew_campaign_ids	as_paramsnew_ase1rL   rO   r   rP   rQ   s                  r#   duplicate_campaignrh   r   s   %%  "",,22##	.% 		A !%%'C1551B+CDF 	Qx~~223  !%%(@(@"A""AEE(..*D*D$E,,aeeHNN4X4X.Y._]_22AEE(..:d:d4e4kikxF 55 aeeN>SVN%;55"#GXAYV,=%>55,,-23%%8S8S2TF8>>../]+;;6;JL"8>>#4#45O	
/ k"..  !!%%##7 n /  7: KKa 0 01KK##_KK$$aeeEKK,D,D&EKK%%quuU[[-F-F'GKK))1551N1N+OKK!!4ekk.C.C(D(J#KKKKK''aeeEKK4O4O.P.VTV)W&8 9 DW

	 55''(01ekk6L6L0MIekk,,-55%%&./eeEKK4H4H.IIekk**+		}-;;9;MF ekknn-!<0 qw''rxx?P?P/Q[bdgZh'i 	:A55!2!239r>>tDKq/L]K8	I }-77y7IF#VBHHKK%89	:Y7:r 5 $ 	CG#ekk44d;,E	.)"=1??y?Q 	s   =a>>	c/Ac**c/r)   )osdotenvr   facebook_business.apir   %facebook_business.adobjects.adaccountr   !facebook_business.adobjects.adsetr   $facebook_business.adobjects.campaignr   facebook_business.adobjects.adr   facebook_business.exceptionsr	   r,   initgetenvr   r+   r$   rR   rh    r%   r#   <module>rt      s    	  0 ; 3 9 - =     +<!= >		/*   C$J  .G$c G$R[C [r%   