Ë
    aâ¯jÙ  ã            
       óL  — d dl Z d dlZd dlZd dlZd dlmZ ej
                  j                  d e j
                  j                  e j
                  j                  e	«      «      «       d dl
mZmZ d dlmZ d dlmZ e j
                  j                  e j
                  j                  e j
                  j                  e	«      «      «      Ze j
                  j%                  edd«      Ze j
                  j%                  ed«      Z e j*                  ed	¬
«        e j*                  ed	¬
«        ej,                  ej.                  d ej0                  e j
                  j%                  ed«      d¬«       ej2                  «       g¬«        ej4                  e«      Zd„ Zedk(  r e«        yy)é    N)Údatetime)ÚForgeClientÚVisionClient)ÚPromptBuilder)ÚVisionCriticÚOutputÚcampaigns_XÚLogsT©Úexist_okz'%(asctime)s [%(levelname)s] %(message)sztest.logúutf-8©Úencoding)ÚlevelÚformatÚhandlersc                  ó  — dd l } t        j                  j                  t        dd«      }t        |dd¬«      5 }| j                  |«      }d d d «       d   d   }t        |d	   |d
   ¬«      }|d   d   }t        |d	   |d   |d
   ¬«      }t        t        «      }t        d«       t        d«       t        d«       t        d«       |j                  «       st        d«       y t        d«       |j                  «       }	t        dt        |	«      › d�«       t        dt        |j                  «      › d�«       t        j                   |	«      }
t        d|
› �«       |j#                  |
d¬«      \  }}t        d«       t        d|› �«       t        d«       t        d|› �«       |d   }t        d|d   › d |d!   › d"|d#   › d$�«       |j%                  |||d   |d!   |d#   |d%   |d&   |d'   ¬(«      \  }}|st        d)«       y |d   }|j'                  d*d«      }t        d+|› d,�«       t        d-«       t)        |d.¬/«      }|j+                  |«      \  }}}t-        j.                  «       j1                  d0«      }|rNd1|› d2|› d3�}t        j                  j                  t2        |«      }|j5                  ||«       t        d4|› �«       n�t        j                  j                  t        d5d6«      }t        j6                  |d7¬8«       d1|› d9�}t        j                  j                  ||«      }|j5                  ||«       t        d:|› �«       t        d;|› �«       t        d<«       t        d=«       t        d«       y # 1 sw Y   �Œ2xY w)>Nr   ÚConfigzplumloom_engine.yamlÚrr   r   Ú	endpointsÚ	forge_neoÚurlÚtimeout)r   r   ÚvisionÚmodel)r   r   r   z7=======================================================z$  PLUMLOOM ENGINE v2 - PRUEBA RAPIDAz
Verificando Forge Neo...u?   [X] Forge Neo NO responde. Verifica que estÃ© abierto con --apiz[OK] Forge Neo conectadoz[OK] z personajes cargadosz wildcards cargadosz
Personaje seleccionado: Ú
suggestive)Úcharacter_nameÚspice_levelz
Prompt positivo (completo):z  z
Prompt negativo (completo):Ú
generationz
Generando imagen (ÚwidthÚxÚheightz, Ústepsz
 steps)...Ú	cfg_scaleÚsampler_nameÚ	clip_skip)ÚpromptÚnegative_promptr    r"   r#   r$   r%   r&   u    [X] Forge no devolviÃ³ imÃ¡genesÚseedz[OK] Imagen generada (seed: Ú)z3
Enviando a critico visual (OVHcloud Qwen2.5-VL)...é   )Úvision_clientÚdelay_between_requestsz%Y%m%d_%H%M%SÚtest_Ú_seedz.pngz[OK] APROBADA -> r   ÚrejectedTr   z_rej.pngz[X] RECHAZADA: z  Guardada en: z8
=======================================================z  PRUEBA COMPLETADA)ÚyamlÚosÚpathÚjoinÚBASE_DIRÚopenÚ	safe_loadr   r   r   ÚprintÚcheck_statusÚget_character_namesÚlenÚ	wildcardsÚrandomÚchoiceÚbuild_randomÚtxt2imgÚgetr   Ú
full_auditr   ÚnowÚstrftimeÚ
OUTPUT_DIRÚ
save_imageÚmakedirs)r1   Úconfig_pathÚfÚconfigÚ	forge_cfgÚforgeÚ
vision_cfgr   ÚbuilderÚnamesÚrandom_charÚ
prompt_posÚ
prompt_negÚgen_cfgÚimagesÚinfoÚimage_bytesr)   ÚcriticÚapprovedÚverdictÚdetailsÚ	timestampÚfilenameÚfilepathÚrejected_dirs                             ú3C:\Users\Usuario\Downloads\NEW\Engine\test_batch.pyÚmainr`      s|  € ÛÜ—'‘'—,‘,œx¨Ð3IÓJ€KÜ	ˆk˜3¨Õ	1°QØ—‘ Ó"ˆ÷ 
2ð �{Ñ# KÑ0€IÜ˜I eÑ,°iÀ	Ñ6JÔK€Eà˜Ñ$ XÑ.€JÜØ�uÑØ˜Ñ!Ø˜9Ñ%ô€Fô œHÓ%€Gä	ˆ(„OÜ	Ð
0Ô1Ü	ˆ(„Oä	Ð&Ô(Ø×ÑÔÜÐOÔPØÜ	Ð
$Ô%à×'Ñ'Ó)€EÜ	ˆE”#�e“*�Ð1Ð
2Ô3Ü	ˆE”#�g×'Ñ'Ó(Ð)Ð)<Ð
=Ô>ä—-‘- Ó&€KÜ	Ð& { mÐ
4Ô5à$×1Ñ1Ø"Ø ð 2ó Ñ€J�
ô
 
Ð)Ô+Ü	ˆBˆzˆlÐ
ÔÜ	Ð)Ô+Ü	ˆBˆzˆlÐ
Ôà�\Ñ"€GÜ	Ð  ¨Ñ!1Ð 2°!°G¸HÑ4EÐ3FÀbÈÐQXÑIYÐHZÐZdÐ
eÔfà—=‘=ØØ"Ø�gÑØ�xÑ Ø�gÑØ˜+Ñ&Ø˜^Ñ,Ø˜+Ñ&ð !ó 	�L€FˆDñ ÜÐ0Ô1Øà˜‘)€KØ�8‰8�F˜AÓ€DÜ	Ð(¨¨¨aÐ
0Ô1ä	Ð
@ÔAÜ¨ÀrÔJ€FØ!'×!2Ñ!2°;Ó!?Ñ€Hˆg�wä—‘“×'Ñ'¨Ó8€IáØ˜9˜+ U¨4¨&°Ð5ˆÜ—7‘7—<‘<¤
¨HÓ5ˆØ×Ñ˜ hÔ/ÜÐ! ( Ð,Õ-ä—w‘w—|‘|¤H¨h¸
ÓCˆÜ
�‰�L¨4Õ0Ø˜9˜+ XÐ.ˆÜ—7‘7—<‘< ¨hÓ7ˆØ×Ñ˜ hÔ/Ü� ˜yÐ)Ô*Ü� ˜zÐ*Ô+ä	ˆ/ÔÜ	Ð
Ô Ü	ˆ(…O÷m 
2Ñ	1ús   ¸M:Í:NÚ__main__)r2   Úsysr=   Úloggingr   r3   ÚinsertÚdirnameÚabspathÚ__file__Ú
api_clientr   r   Úprompt_builderr   Úvision_criticr   r5   r4   rE   ÚLOGS_DIRrG   ÚbasicConfigÚINFOÚFileHandlerÚStreamHandlerÚ	getLoggerÚ__name__Úloggerr`   © ó    r_   Ú<module>ru      s<  ðÛ 	Û 
Û Û Ý à ‡�‡���2—7‘7—?‘? 2§7¡7§?¡?°8Ó#<Ó=Ô >ç 0Ý (Ý &à�7‰7�?‰?˜2Ÿ7™7Ÿ?™?¨2¯7©7¯?©?¸8Ó+DÓEÓF€Ø�W‰W�\‰\˜( H¨mÓ<€
Ø�7‰7�<‰<˜ &Ó)€à €‡�ˆJ Õ &Ø €‡�ˆH˜tÕ $à €× Ñ Ø
�,‰,Ø4àˆ×Ñ˜BŸG™GŸL™L¨°:Ó>ÈÔQØˆ×ÑÓðõð 
ˆ×	Ñ	˜8Ó	$€òYðv ˆzÒÙ…Fð rt   