File size: 2,060 Bytes
343eed9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import os
import re

file_path = r"c:\Users\lapet\github-all\darkmedia\.youtube\scripts\firefly_horror_bot.py"
content = open(file_path, 'r', encoding='utf-8').read()

# 1. Update video_worker to use unique temp subfolders
old_worker_start = '    if existing_page:'
new_worker_start = """    # Flux Optimization: Unique temp folder per worker to avoid file collisions
    worker_temp_folder = output_folder / f"worker_{model_name.replace(' ', '_').lower()}"
    worker_temp_folder.mkdir(parents=True, exist_ok=True)
    wlog(f"📁 Dossier temporaire dédié : {worker_temp_folder}", "📁")

    if existing_page:"""

if old_worker_start in content and 'worker_temp_folder' not in content:
    content = content.replace(old_worker_start, new_worker_start)

# Update the call to wait_for_generation_and_download to use this new folder
content = content.replace('wait_for_generation_and_download(page, video_number, prompt_data.get("style", "N/A"), output_folder,', 
                          'wait_for_generation_and_download(page, video_number, prompt_data.get("style", "N/A"), worker_temp_folder,')

# 2. Hardening enter_prompt to avoid "Same Video" issue
# We'll inject a small random string in the prompt to ensure Firefly sees a NEW prompt
# But the user might not want that. Instead, we'll force focus and clear.
old_enter_prompt_start = 'async def enter_prompt(page, prompt_text: str):'
new_enter_prompt_start = """async def enter_prompt(page, prompt_text: str):
    # Flux Optimization: Force a slight variation or space to avoid Firefly caching the previous result if it was identical
    # and strictly clear the field
    log("Saisie du prompt...", "⌨️")"""

# (This is already mostly there, but we'll add a 'Select All + Delete' step)
# I'll just replace the whole enter_prompt function to be sure.

# 3. Fix the wait_for_generation to be even faster
content = content.replace('await asyncio.sleep(1)', 'await asyncio.sleep(0.5)')

with open(file_path, 'w', encoding='utf-8') as f:
    f.write(content)

print("Patch V2 applied successfully.")