Ë
    xÎÅj©  ã                   óì  — d Z ddlZddlZddlZddlZddlZddlZddlZddlm	Z	 ddl
m
Z
  e	e«      j                  j                  ZdZedz  dz  Zedz  d	z  Zedz  d
z  ZdZdZg d¢Zg d¢Zd„ Zd!d„Zd„ Zd„ Zd„ Zd"d„Zedk(  roddlZ ej<                  d¬«      ZejA                  de!dd¬«       ejA                  ddd¬«       ejE                  «       Z# ee#jH                  e#jJ                  ¬ «       yy)#u»   
PLUMLOOM ENGINE - Batch Progression Generator
Genera secuencias de progresiÃ³n NSFW (7 pasos) para mÃºltiples personajes.
Uso: python Engine/batch_progression.py [--chars N] [--dry-run]
é    N)ÚPath)Údatetimezhttp://127.0.0.1:7860ÚOutputÚbatch_progressionÚArchivosÚprogression_wildcardszpersonajes.txta  masterpiece, best quality, absurdres, highres, score_9, score_8_up, 1girl, solo, <lora:IFL_v1.0_IL:0.7> <lora:add-detail-xl:0.5> <lora:blackwhiplash(bwl)-guy90-Illust-Lorav3:0.6> blaash, <lora:scara2b_ill_v1.00:0.7> scara2b-style, <lora:Add_color_ILXLv1:3>,aø  lowres, bad anatomy, bad hands, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, artist name, bad feet, multiple views, splits, 2girls, extra people, duplicate_character, cloned_character, ugly, deformed, disfigured, mutation, mutated, extra_limbs, fused_fingers, long_neck, cross-eyed, censored, mosaic censoring, bar censor, mirror, reflection, mirrored, glass_reflection, reflective_surface)Ú	01_outfitÚ
02_undressÚ03_underwearÚ04_presentingÚ	05_sexualÚ06_explicitÚ	07_climax)ÚOUTFITÚUNDRESSÚ	UNDERWEARÚ
PRESENTINGÚSEXUALÚEXPLICITÚCLIMAXc                  óJ  — i } dD ]Š  }t         |z  }|j                  «       sŒt        |dd¬«      5 }|D �cg c]5  }|j                  «       sŒ|j	                  d«      rŒ&|j                  «       ‘Œ7 }}d d d «       |j                  dd«      }| |<   ŒŒ | S c c}w # 1 sw Y   Œ)xY w)N)	zstep1_outfit.txtzstep2_undress.txtzstep3_underwear.txtzstep4_presenting.txtzstep5_sexual.txtzstep6_explicit.txtzstep7_climax.txtúcameras.txtú
scenes.txtÚrúutf-8©ÚencodingÚ#z.txtÚ )ÚWILDCARD_DIRÚexistsÚopenÚstripÚ
startswithÚreplace)Ú	wildcardsÚfilenameÚfilepathÚfÚlÚlinesÚkeys          ú:C:\Users\Usuario\Downloads\NEW\Engine\batch_progression.pyÚload_wildcardsr.   ?   sž   € Ø€IóFˆô   (Ñ*ˆØ�?‰?ÕÜ�h ¨gÕ6¸!Ù,-ÓU©A q°·±µÀ1Ç<Á<ÐPSÕCT˜Ÿ™�¨A�ÐU÷ 7à×"Ñ" 6¨2Ó.ˆCØ"ˆI�cŠNðFð Ðùò V÷ 7Ð6ús(   °BµBÁBÁBÁ/BÂBÂB"	c           	      ó  — t        t        dd¬«      5 }|D �cg c]#  }|j                  «       sŒ|j                  «       ‘Œ% }}d d d «       | r)t        j                  t        | t        |«      «      «      S S c c}w # 1 sw Y   Œ;xY w)Nr   r   r   )r"   Ú	CHAR_FILEr#   ÚrandomÚsampleÚminÚlen)Úcountr)   r*   r+   s       r-   Úload_charactersr6   M   si   € Ü	Œi˜ wÕ	/°1Ù$%Ó3¡A˜q¨¯©­�—‘• AˆÐ3÷ 
0áÜ�}‰}˜U¤C¨¬s°5«zÓ$:Ó;Ð;Ø€Lùò 4÷ 
0Ð	/ús!   “A<˜A7®A7Á A<Á7A<Á<Bc                 ó¦   — t        j                  d| «      }|r9|j                  d«      j                  «       }t        j                  dd|«      d d S y)Nz>([^,]+)é   z[^a-zA-Z0-9]Ú_é   Úunknown)ÚreÚsearchÚgroupr#   Úsub)Ú	char_lineÚmatchÚraws      r-   Úextract_char_namerC   U   sH   € Ü�I‰I�k 9Ó-€EÙØ�k‰k˜!‹n×"Ñ"Ó$ˆÜ�v‰v�o s¨CÓ0°°"Ð5Ð5Øó    c           	      ó*   — t         › d| › d|› d|› d|› �	S )NÚ z
, age up, z, )ÚMASTER)r@   Ústep_wildcardÚcameraÚscenes       r-   Úbuild_promptrK   ]   s%   € ÜˆX�Q�y�k ¨M¨?¸"¸V¸HÀBÀuÀgÐNÐNrD   c                 ó¼  — | t         dddddddddd	œ}	 t        j                  t        › d
�|d¬«      }|j                  dk(  r_t        j                  |j                  «       d   d   «      }t        |d«      5 }|j                  |«       d d d «       dt        |«      dz  fS d|j                  fS # 1 sw Y   Œ'xY w# t        $ r}dt        |«      fcY d }~S d }~ww xY w)Ni@  iÀ  é   é   zDPM++ 2M Karrasr8   éÿÿÿÿé   )ÚpromptÚnegative_promptÚwidthÚheightÚstepsÚ	cfg_scaleÚsampler_nameÚ
batch_sizeÚn_iterÚseedÚ	clip_skipz/sdapi/v1/txt2imgi,  )ÚjsonÚtimeoutéÈ   Úimagesr   ÚwbTi   F)ÚNEGÚrequestsÚpostÚ	FORGE_URLÚstatus_codeÚbase64Ú	b64decoder\   r"   Úwriter4   Ú	ExceptionÚstr)rQ   ÚoutpathÚpayloadÚrespÚimgr)   Úes          r-   Úgenerate_imagerp   a   sá   € àÜØØØØØ)ØØØØñ€Gð	Ü�}‰}¤	˜{Ð*;Ð<À7ÐTWÔXˆØ×Ñ˜sÒ"Ü×"Ñ" 4§9¡9£;¨xÑ#8¸Ñ#;Ó<ˆCÜ�g˜tÔ$¨Ø—‘˜”÷ %àœ˜S› TÑ)Ð)Ð)Ø�d×&Ñ&Ð&Ð&÷ %Ð$ûô ò Ø”c˜!“fˆ}Õûðús<   ”A#B; Á7B/Â	B; Â!B; Â/B8Â4B; Â;	CÃCÃCÃCé   c                 ó&  — t        «       }t        | «      }t        j                  dd¬«       t	        d«       t	        dt        |«      › d�«       t	        d«       t        |«      dz  }d}t        |«      D �]m  \  }}t        |«      }t        j                  |j                  dd	g«      «      }	t	        d
|› d|	› d�«       t        d«      D �]  }
d|
dz   › dg d¢|
   › �}|j                  |dg«      }t        j                  |«      }t        j                  |j                  ddg«      «      }t        ||||	«      }|› dt        |
   › d�}t        |z  }|dz  }t	        d|› d|› dt        |
   › d|d d › d�	«       |r!t	        d|› �«       t	        d|d d › d�«       ŒÒt        ||«      \  }}|rt	        d|› d�«       nt	        d |› �«       t!        j"                  d!«       �Œ �Œp t	        d"«       t	        d#|› d$t        › �«       t	        d«       y )%NT)ÚparentsÚexist_okz7=======================================================z  PROGRESSION BATCH - z characters x 7 stepsé   r   r   zbedroom, soft lighting, eveningz
--- z	 (scene: z) ---Ústepr8   r9   )ÚoutfitÚundressÚ	underwearÚ
presentingÚsexualÚexplicitÚclimaxr   r   zcowboy shotz.pngz  [Ú/z] z: é2   z...z    [DRY-RUN] Would generate: z    Prompt: éd   z	    [OK] ÚKBz    [FAIL] rP   z8
=======================================================z  COMPLETADO - z images in )r.   r6   Ú
OUTPUT_DIRÚmkdirÚprintr4   Ú	enumeraterC   r1   ÚchoiceÚgetÚrangerK   Ú
STEP_NAMESÚSTEP_LABELSrp   ÚtimeÚsleep)Ú
char_countÚdry_runr&   Ú
charactersÚtotalÚdoneÚcir@   Ú	char_namerJ   ÚsiÚstep_keyÚwc_listrH   rI   rQ   r'   rk   ÚokÚresults                       r-   Ú	run_batchr™   |   s  € ÜÓ €IÜ  Ó,€Jä×Ñ˜T¨DÐÔ1ä	ˆ(„OÜ	Ð"¤3 z£?Ð"3Ð3HÐ
IÔJÜ	ˆ(„Oä�
‹O˜aÑ€EØ€Dä" :×.‰ˆˆIÜ% iÓ0ˆ	Ü—‘˜iŸm™m¨LÐ;\Ð:]Ó^Ó_ˆä��y�k ¨5¨'°Ð7Ô8ä˜—(ˆBØ˜b ™d˜V 1Ò%oÐprÑ%sÐ$tÐuˆHØ—m‘m H¨r¨dÓ3ˆGÜ"ŸM™M¨'Ó2ˆMä—]‘] 9§=¡=°ÀÀÓ#PÓQˆFÜ! )¨]¸FÀEÓJˆFà#˜ A¤j°¡nÐ%5°TÐ:ˆHÜ  8Ñ+ˆGà�A‰IˆDÜ�C˜�v˜Q˜u˜g R¬°B©Ð'8¸¸=ÈÈ"Ð;MÐ:NÈcÐRÔSáÜÐ6°x°jÐAÔBÜ˜ V¨D¨S \ N°#Ð6Õ7ä+¨F°GÓ<‘
��FÙÜ˜I f X¨RÐ0Õ1ä˜K¨ xÐ0Ô1ä—
‘
˜1–ò1 ð /ô@ 
ˆ/ÔÜ	ˆO˜D˜6 ¬Z¨LÐ
9Ô:Ü	ˆ(…OrD   Ú__main__zProgression Batch Generator)Údescriptionz--charszNumber of characters)ÚtypeÚdefaultÚhelpz	--dry-runÚ
store_truez Print prompts without generating)Úactionrž   )r�   rŽ   )N)rq   F)&Ú__doc__rb   rf   r1   r‹   r<   ÚosÚsysÚpathlibr   r   Ú__file__ÚparentÚBASE_DIRrd   r‚   r    r0   rG   ra   r‰   rŠ   r.   r6   rC   rK   rp   r™   Ú__name__ÚargparseÚArgumentParserÚparserÚadd_argumentÚintÚ
parse_argsÚargsÚcharsrŽ   © rD   r-   Ú<module>r²      s'  ðñó
 Û Û Û Û 	Û 	Û 
Ý Ý á�‹>× Ñ ×'Ñ'€Ø#€	Ø˜Ñ Ð#6Ñ6€
Ø˜*Ñ$Ð'>Ñ>€Ø�zÑ!Ð$4Ñ4€	ð!ð ðIð ò€
ò€òóòòOòó6/ðd ˆzÒÛØ$ˆX×$Ñ$Ð1NÔO€FØ
×Ñ˜	¨°QÐ=SÐÔTØ
×Ñ˜¨LÐ?aÐÔbØ×ÑÓ€Dá˜Ÿ™¨T¯\©\Ö:ð rD   