
    (<i              
           d Z ddlmZ ddlmZ ddlmZ edz  Zej                  dd        e	edz        Z
 e	ed	z        Z e	ed
z        Zde	de	de	dedef
dZd Zedk(  r e        yy)uV   M1 FAIL 배너 재렌더링 (배경 재생성 없이 HTML/CSS만 수정 후 렌더링)    )Path)sync_playwright)WORKSPACE_ROOTzoutput/google-ads/banners/m1T)parentsexist_okz>tools/ai-image-gen/output/v4-hybrid/m1-1-fair/bg_m1_1_fair.pngzBtools/ai-image-gen/output/v4-hybrid/m1-2-leader/bg_m1_2_leader.pngzDtools/ai-image-gen/output/v4-hybrid/m1-3-support/bg_m1_3_support.pnghtmlbg_pathout_pathwhc           
         dd l }dd l}ddlm} |j	                  |      j                  d      }|j                  ||f|j                        }	|j                         }
|	j                  |
dd       |
j                  d       |j                  |
j                               j                  d      }d| }| j                  |	      }t        d
| d| dt        |      j                    d      }|j#                  |d       t%        d| d| d|        t'               5 }|j(                  j+                  ddg      }|j-                  ||d      }|j/                  d| d       |j1                  d       |j3                  |ddd||d       |j5                          d d d        |j7                  d       t        |      j9                         j:                  d z  }t%        d!| d"|d#d$       y # 1 sw Y   UxY w)%Nr   )ImageRGBJPEGZ   )formatqualityasciizdata:image/jpeg;base64,)bg_urlz/tmp/rerender_x_z.htmlzutf-8)encodingu	   [캡처] u    → z--no-sandboxz--disable-gpu)args)widthheight)viewportzfile://networkidle)
wait_untili  png)r   yr   r   )pathtypeclipT)
missing_oki   u	   [완료] z (z.0fz KB))base64ioPILr   openconvertresizeLANCZOSBytesIOsaveseek	b64encodereaddecoder   r   stem
write_textprintr   chromiumlaunchnew_pagegotowait_for_timeout
screenshotcloseunlinkstatst_size)r   r	   r
   r   r   r%   r&   r   imgimg_resizedbufbg_b64bg_data_urlhtml_filledtmppbrowserpagesize_kbs                      O/home/jay/workspace/.worktrees/task-2057-dev2/tools/ai-image-gen/rerender_m1.pycapturerK      s    **W

%
%e
,C**aVU]]3K
**,CS4HHQKchhj)009F+F84K++[+1K
s!A3aX(;(;'<EB
CCNN;N1	IaS!E(
,-		 a**##./)J#K1)BC		GC5/m	<d#XEaaRS_`8ab JJ$J8n!!#++d2G	IhZr'#d
34 s    BG88Hc                     dd l } | j                  j                  dt        t	        t
              j                               ddlm}m	} ddl
m	} ddlm}m	} t        d       t        d       t        d       	 t        |t        t        t        dz        dd       	 t        |t        t        t        d
z        dd       	 t        |t"        t        t        dz        dd       	 t        |t$        t        t        dz        dd       	 t        |t$        t        t        dz        dd       t        d       t        d       t        d       y # t         $ r}t        d	|        Y d }~d }~ww xY w# t         $ r}t        d|        Y d }~d }~ww xY w# t         $ r}t        d|        Y d }~d }~ww xY w# t         $ r}t        d|        Y d }~d }~ww xY w# t         $ r}t        d|        Y d }~d }~ww xY w)Nr   )HTML_1200x628HTML_1080x1080)rN   z<============================================================u)   M1 FAIL 배너 재렌더링 시작 (5장)zm1-1-1200x628.pngi  it  u   [오류] m1-1-1200x628: zm1-1-1080x1080.pngi8  u   [오류] m1-1-1080x1080: zm1-2-1080x1080.pngu   [오류] m1-2-1080x1080: zm1-3-1200x628.pngu   [오류] m1-3-1200x628: zm1-3-1080x1080.pngu   [오류] m1-3-1080x1080: u   재렌더링 완료)sysr!   insertstrr   __file__parentgen_m1_1_fair_bannersrM   rN   gen_m1_2_leader_bannersgen_m1_3_support_bannersr4   rK   BG_M1_1
OUTPUT_DIR	ExceptionBG_M1_2BG_M1_3)rO   	m1_1_1200	m1_1_1080	m1_2_1080	m1_3_1200	m1_3_1080es          rJ   mainrb   ,   s   HHOOAs4>0012 ^C`	(O	
56	(O.	7C
5H(H$I4QTU
/	7C
5I(I$JDRVW
/	7C
5I(I$JDRVW
.	7C
5H(H$I4QTU
/	7C
5I(I$JDRVW 
(O	
 	(O;  .(,--.  /)!-../  /)!-../  .(,--.  /)!-../sx   9#E #E2 #F %#F: 	#G 	E/E**E/2	F;FF	F7F22F7:	GGG	G?'G::G?__main__N)__doc__pathlibr   playwright.sync_apir   
gen_configr   rX   mkdirrQ   rW   rZ   r[   intrK   rb   __name__     rJ   <module>rm      s    \  / %<<
 
    -
n__
`
ncc
d
nee
f5# 5 5s 5s 5s 5:/d zF rl   