
    ^j                        d dl Z d dlZd dlZd dlZd dlmZmZ d dlmZ  ee          	                                j
        d         Zedz  Zedz  dz  Zedz  Zed	z  Zd
 Zd Zd Zd Zedk    r ej         e                       dS dS )    N)datetimetimezone)Path   imagelogzimage-generation.jsonzimage-brief.jsonzlayout-manifest.jsonc                     t          j        ddddddddd	t          |           g
d
d
d
          }t          j        |j                  d         d         S )Nffprobez-verrorz-select_streamszv:0z-show_entrieszstream=width,height,codec_namez-ofjsonT)capture_outputtextcheckstreamsr   )
subprocessrunstrr   loadsstdout)pathresults     script/build-layout.pyprober      sx    ^	D'#4e_Nnpuw}  @C  DH  @I  @I  	J	  F :fm$$Y/22    c                 r    t          j        |                                                                           S )N)hashlibsha256
read_bytes	hexdigest)r   s    r   digestr       s(    >$//++,,66888r   c                 2    t          j        | d           d S )NT)r   )r   r   )commands    r   r   r      s    N7$''''''r   c                     t                                           rt                                          st          dt          j                   dS t          j        t                               d                    } t          j        t                              d                    }|	                    d          }| 	                    d          dus| 	                    d          |k    rt          d	t          j                   dS t          d
z  }t          dz  }t          dz  }|||fD ]T}|                                r|                                j        dk     r!t          d| t          j                    dS Ut          dz  }t          dz  }t          dz  }	t          dz  }
d}t          ddddddt          |          d|ddt          |          g           d}t          ddddddt          |          d|ddt          |          g           t          ddddddt          |          d|ddt          |	          g           t          ddddddt          |          dt          |	          ddd d!ddt          |
          g           |d"|d#|	d#|
d"i}i }d}|                                D ]n\  }}t!          |          }||t          |                    t$                              <   |o-|	                    d$          |	                    d%          f|k    }oi }||||||	|
fD ]S}|                                j        t'          |          d&|t          |                    t$                              <   Td||d'd(d)d*d+d,d-d,d.dd/d0d,d-d1d2d3d4||t)          j        t,          j                                                  d5
}t2                              t          j        |d2d67          d8z   d           t          t          j        ||t          |
          d2d3d4d9d2:                     |rd+ndS );Nz9Layout blocked: image generation receipt or brief missing)filer   zutf-8)encodingsource_canon_sha256verifiedTzCLayout blocked: image receipt not verified or canon hash mismatchedzintro-poster-master.pngzleft-panel-master.pngzright-panel-master.pngi z%Layout blocked: missing image master zintro-poster-1920x1080.pngzleft-panel-656x1080.pngzright-panel-656x1080.pngzlayout-1920x1080.pngzsplit=2[bg][fg];[bg]scale=1920:1080:force_original_aspect_ratio=increase,crop=1920:1080,gblur=sigma=36[cover];[fg]scale=1920:1080:force_original_aspect_ratio=decrease[fit];[cover][fit]overlay=(W-w)/2:(H-h)/2,format=rgb24ffmpegz-hide_bannerz	-loglevelr   z-yz-iz-vfz	-frames:v1zsplit=2[bg][fg];[bg]scale=656:1080:force_original_aspect_ratio=increase,crop=656:1080,gblur=sigma=24[cover];[fg]scale=656:1080:force_original_aspect_ratio=decrease[fit];[cover][fit]overlay=(W-w)/2:(H-h)/2,format=rgb24z-filter_complexzlcolor=c=#101820:s=1920x1080:r=1[base];[base][0:v]overlay=0:0[tmp];[tmp][1:v]overlay=1264:0,format=rgb24[out]z-mapz[out])  8  )  r+   widthheight)bytesr   zUforeground scale-decrease over blurred artwork cover; no text/face crop or distortionr*   r+   )r-   r.   r   r,   )xr-   i`  )r0   r-   cleani  )leftcenterrightFpending)r'   status)
versionr'   r&   normalizationcanvasregions	visual_qaprobesassets
created_at   )ensure_asciiindent
)verified_dimensionsr&   layoutr;   )r@   )
GENERATIONexistsBRIEFprintsysstderrr   r   	read_textgetIMAGEstatst_sizer   r   itemsr   relative_toPROJECTr    r   nowr   utc	isoformatMANIFEST
write_textdumps)
generationbrief
canon_hashposter_masterleft_masterright_masterr   posterr2   r4   rD   poster_filterpanel_filterexpectedr<   r'   dimsdatar=   receipts                       r   mainrf   "   s@    ellnn IPSPZ[[[[qJ00'0BBCCJJu8899E011J~~j!!--@U1V1VZd1d1dSZ]Zdeeeeq55M11K33L\:  {{}} 			 3f < <@$@@szRRRR11 != 11F,,D..E++F	;  >;tSEWEWY^`moz|  BE  FL  BM  BM  	N  O  O  O	;  >;tSEUEUW\^jlwy|  B  CG  H  H  	I  J  J  J>;tSEVEVX]_kmxz}  @C  DI  @J  @J  	K  L  L  L.+wc$iis5zz  Jc3v;;		    	dKV\H FHnn&& P P
dT{{15s4##G,,--.O'!2!2DHHX4F4F G4 OFT<PVW h h;?99;;;NZ`aeZfZf1g1gs4##G,,--..)p D11"#c22CRU`d>e>evz  FI  qJ  qJ  K  K"'9==l8<00::<< G 
7qIIIDP[bccc	$*Xjdghndodo  LQ  ]f  g  g  h  h  w|  }  }  }  ~  ~  ~11ar   __main__)r   r   r   rI   r   r   pathlibr   __file__resolveparentsrR   rM   rE   rG   rV   r   r    r   rf   __name__exit r   r   <module>ro      s         



 ' ' ' ' ' ' ' '      
$x..
 
 
"
"
*1
-'u_66
""))3 3 39 9 9( ( (I  I  I X zCHTTVV r   