
    sh                         S SK r S SKrS SKrS SKJr  S SKJr  S SKJr  S SKrS SK	r	 " S S5      r
S r\S:X  a  \" 5         gg)	    N)Path)datetime)Templatec                   8    \ rS rSrS rS rS rS rS rS r	Sr
g	)
GalleryGenerator   c                     [        U5      U l        S[        R                  " 5       R	                  S5      / / / / / S.U l        g )Nu!   Milla Borges - Redação Blindadau   %d/%m/%Y às %H:%M)campaign_nameorganized_datevideosimagestextspdfs	all_items)r   base_dirr   nowstrftimedata)selfr   s     B/Users/tiagomarins/Projetos/claudeai/copy_bank/generate_gallery.py__init__GalleryGenerator.__init__   s=    X@&lln556JK
	    c                 ^    UR                  5       R                  nUS:  a  US-  S $ US-  S $ )z"Obter tamanho do arquivo formatadoi   z.1fi   )statst_size)r   	file_pathsizes      r   get_file_sizeGalleryGenerator.get_file_size   s;    ~~''+k*3/0Tk#&'r   c                    U R                   S-  nX2 S[        U5      R                   S3-  nUR                  5       (       aP   [	        USSS9 nUR                  5       nSU;   a  UR                  S5      S   nUR                  5       sS	S	S	5        $ g	! , (       d  f       g	= f! [         a  n[        S
U SU 35         S	nAg	S	nAff = f)u   Ler transcrição se existirtextos_z.txtrutf-8encodingu   === TRANSCRIÇÃO ORIGINALr   Nu   Erro ao ler transcrição : )
r   r   stemexistsopenreadsplitstrip	Exceptionprint)r   	file_nameprefix	texts_dirtransc_filefcontentes           r   read_transcription#GalleryGenerator.read_transcription"   s    MMH,	HAd9o.B.B-C4"HHG+sW=ffhG3w>")--0L"Ma"P"==? >=  >=   G2;-r!EFFGs6   B$ :B	B$ 
B!B$ !B$ $
C	.CC	c                 N    U R                   S-  nUR                  5       (       a  gg)z.Verificar se existe arquivo markdown compiladozcopy_bank_completo.mdN)r   r*   )r   copy_bank_paths     r   get_markdown_download_link+GalleryGenerator.get_markdown_download_link3   s&    )@@  ""*r   c           
         U R                   S-  nUR                  5       (       a  UR                  S5       H  nUR                  5       (       d  M  UR                  SUR                   3U R                  U5      S[        R                  " [        U5      5      S   =(       d    SU R                  UR                  S5      S.nU R                  S   R                  U5        U R                  S	   R                  U5        M     U R                   S
-  nUR                  5       (       a  UR                  S5       H  nUR                  5       (       d  M  UR                  SUR                   3U R                  U5      SU R                  UR                  S5      S.nU R                  S   R                  U5        U R                  S	   R                  U5        M     U R                   S-  nUR                  5       (       a  UR                  S5       H  nUR                  SUR                   3U R                  U5      SU R                  UR                  S5      S.nU R                  S   R                  U5        U R                  S	   R                  U5        M     U R                   S-  nUR                  5       (       a  UR                  S5       H  n	U	R                  R                  S5      (       a  M%   [        U	SSS9 n
U
R                  5       nSSS5        U	R                  SU	R                   3U R                  U	5      SWS.nU R                  S   R                  U5        U R                  S	   R                  U5        M     [#        U R                  S	   5      [#        U R                  S   5      [#        U R                  S   5      [#        U R                  S   5      [#        U R                  S   5      S".U R                  S#'   g! , (       d  f       GN= f! [         a  n[!        S U	 S!U 35         SnAGMp  SnAff = f)$z%Coletar todos os arquivos organizadosr   *zvideos/videor   z	video/mp4transc_video)namepathsize_mbtype	mime_typetranscriptionr   imagenszimagens/imagetransc_imagem)rB   rC   rD   rE   textr   r   z*.pdfzpdfs/pdf
transc_pdfr"   z*.txttransc_r$   r%   r&   Nztextos/rK   )rB   rC   size_kbrE   r6   r   zErro ao ler texto r(   )totalr   r   r   r   stats)r   r*   globis_filerB   r   	mimetypes
guess_typestrr8   r   append
startswithr+   r,   r/   r0   len)r   
videos_dirr@   item
images_dirrI   pdfs_dirrL   r3   rK   r5   r6   r7   s                r   collect_filesGalleryGenerator.collect_files:   s    ]]X-
#-==?? %

")%** 6#'#5#5e#< '%.%9%9#e*%Ea%H%WK)-)@)@^)\D IIh'..t4IIk*11$7 . ]]Y.
#-==?? %

"*5::, 7#'#5#5e#< ' $ 7 7

O TD IIh'..t4IIk*11$7 . ==6)??}}W-HH#CHH:.#11#6! 33CHHlK 		&!((.		+&--d3 . MMH,	!w/yy++I66@!$g>!&'ffhG ? %)II&-dii[$9'+'9'9$'?$*'.  		'*11$7		+.55d; 0& ;/0$))H-.$))H-.7+,		&)*
		' ?> % @ 24&1#>??@s1   4P?P
A2P

P	P
Q&P>>Qc                    U R                  5       U R                  S'   [        [        5      R                  S-  n[        USSS9 nUR                  5       nSSS5        [        W5      nUR                  " S
0 U R                  D6nU R                  S-  n[        USSS9 nUR                  U5        SSS5        [        S	U 35        U$ ! , (       d  f       Ny= f! , (       d  f       N/= f)zGerar arquivo HTML da galeriamarkdown_linkzgallery_template.htmlr$   r%   r&   Nzgaleria_campanha.htmlwzGaleria gerada em:  )r<   r   r   __file__parentr+   r,   r   renderr   writer0   )r   template_pathr5   template_htmltemplatehtml_contentoutput_paths          r   generate_gallery!GalleryGenerator.generate_gallery   s     &*%D%D%F		/" X--0GG-w71FFHM 8 M*33mm&==+sW5GGL! 6 	#K=12 87 65s   C	C	
C
C()r   r   N)__name__
__module____qualname____firstlineno__r   r   r8   r<   r^   rm   __static_attributes__rc   r   r   r   r      s"    

("J
Xr   r   c                     [        [        R                  5      S:w  a!  [        S5        [        R                  " S5        [        R                  S   n [
        R                  R                  U 5      (       d%  [        SU  S35        [        R                  " S5        [        U 5      nUR                  5         UR                  5       n[        S5        [        SU 35        g )N   u,   Uso: python generate_gallery.py <diretório>   u   Erro: Diretório 'u   ' não encontrado.z!
Galeria HTML criada com sucesso!z Abra o arquivo para visualizar: )rY   sysargvr0   exitosrC   r*   r   r^   rm   )r   	generatorgallery_paths      r   mainr}      s    
388}<=xx{H77>>(##"8*,>?@ *I--/L	.0	,\N
;<r   __main__)rz   rw   jsonpathlibr   r   jinja2r   base64rT   r   r}   ro   rc   r   r   <module>r      sC    	 
      K KZ=$ zF r   