
    i                     .   d Z ddlZddlZddlmZ ddlmZ  ee      j                         j                  j                  j                  Z
 ee
      ej                  vr"ej                  j                  d ee
             ddlmZ ddlmZmZ  ej&                         Z eej+                  d            dz  Zed	   d
   d   Zed	   d   d   Zg dZddddddddddddddddddddeededdZeZi ZeD ]  Zeez  Zdev rej?                  d      d   neZ  ejB                  e      Z"e"jF                  \  Z$Z%ejM                         jN                  dz  Z(i Z)e$dk(  re%dk(  rdnde$ d e% d!e)d"<   de)d#<   d$e)d%<   d&e d'e)d(<   ejU                  e jW                  d)d*      j?                  d      d+   i       Z,e,seD ]  Z-e-ev see-   Z, n d,Z.g Z/e,ja                         D ]s  \  Z1Z#d
e1v r"e#ek  rd-Z.e/je                  e1 d.e# d/e d0       ,d1e1v r"e#ek  rd-Z.e/je                  e1 d.e# d/e d0       Re#ek  sXd-Z.e/je                  e1 d.e# d/e d2       u e.rdnd3d4jg                  e/       e)d5<   d$e)d6<   d7e)d8<   e,r e4e,jk                               ndZ6e6ek\  rdnd9e6 d:e)d;<   d<ev r	d=e d>e)d;<   e$ d e%  e7e(d?      e) e8d@ e)jk                         D              dAee<     e9 ejt                  edBd-C              e9dD       eja                         D ]o  \  ZZ;e;dE   rdndFZ<e;dG   ja                         D  cg c]  \  } }dH|v s|  c}} Z=e=rdId4jg                  e=       d!nd*Z> e9dJe dKe< e> dLe;dM    d4e;dN    dO
       q yc c}} w )Pu*   Pilot v1 - A 카테고리 QC 자동 검증    N)Path)Image)ConfigManager)ABSOLUTE_MIN_PXDQ_RULESzroots.workspacezoutput/meta-ads/pilot-v1
font_sizesheadlineminsubhead)zpilot-v1-concept09-minimal.pngz pilot-v1-concept17-newsflash.pngzpilot-v1-concept23-nike.pngz&pilot-v1-concept44-hangul-monument.pngz%pilot-v1-concept45-finance-luxury.png`   @   (   )r	   subcopybrandctaX   )r	   r   headerfooterl         )r	   r   tagr   )	concept09	concept17	concept23	concept44	concept45concept-   i   i8  PASSzFAIL (x)zA-03_resolutionzA-05_no_satorizPASS (visual)zA-01_no_overlapzPASS (min padding 56px > zpx safe margin)zA-02_safe_areaz.png TF=zpx < pxr   zpx minzFAIL: z, zA-04_font_sizezA-06_no_overflowzPASS (design-verified)zA-07_contrastz
FAIL (min=zpx)zA-08_min_40pxr   zWARN: tag=28px < zpx (decorative element)   c              #   0   K   | ]  }d |v xs d|v   yw)r!   WARNN ).0vs     8/home/jay/workspace/output/meta-ads/pilot-v1/qc_check.py	<genexpr>r/   o   s      Lq!2v{2Ls   )
resolutionfile_size_kbchecksall_pass   )indentensure_asciiz
=== QC Summary ===r3   FAILr2   r*   z (WARN: z  z: z (r0   r1   z KB))?__doc__jsonsyspathlibr   PILr   __file__resolveparent_WORKSPACE_ROOTstrpathinsertconfig.loaderr   tools.dq_rulesr   r   get_instance_cfgget_pathBASE_HEADLINE_MIN_SUBHEAD_MINFILES
FONT_SPECSSAFE_MARGINresultsfnamefpathsplitr   openimgsizewhstatst_sizefile_kbr2   getreplacespecskeyfont_okfont_detailsitemselementappendjoinr
   valuesmin_sizeroundallprintdumpsdatastatuswarnswarn_str)kr-   s   00r.   <module>rp      s   0  
   x.((*1188??sxx'HHOOAs?+, ' 4!}!!#DMM+,-0JJ &z259%i07	 !R"RH R2L!b2bI!b2bI+RXgh
 
 AE5LE%.%%7ekk#q!UG
%**U
C88DAqjjl""T)GF ,-9d6RSQTTUVWUXXYIZF  &F !0F ";;-WF NN7??626<<SA"ErJE 	Ce|"3	
 GL 	Q TM%9G7)1TF%b IJ'!d\&9G7)1TF%~R HIO#G7)1TF%7H OP	Q *1vtyy?V>W6XF "1F 7F? ',s5<<>"H(0O(Cf:V^U__bIcF? e$5o5FF]"^ 1QCjgq)LFMMOLL	GENyAH jdjj7 8  ==? ^KE4J'VVF>//1A41aVq[QAE16$))E*+1-BH	BugRxzD,>+?r$~BVAWW[
\]	^As   NN