Clear Speaker cache upon run
This commit is contained in:
parent
245640634a
commit
d9976ba8b9
3 changed files with 24 additions and 2 deletions
|
|
@ -340,15 +340,21 @@ class TranslationWorker(QThread):
|
|||
# Run handlers sequentially in this worker process so globals are shared
|
||||
try:
|
||||
if is_mvmz:
|
||||
from modules.rpgmakermvmz import handleMVMZ as handler, setSpeakerParseMode, finalizeSpeakerParse, TOKENS, calculateCost, MODEL
|
||||
from modules.rpgmakermvmz import handleMVMZ as handler, setSpeakerParseMode, finalizeSpeakerParse, resetSpeakerState, TOKENS, calculateCost, MODEL
|
||||
elif is_ace:
|
||||
from modules.rpgmakerace import handleACE as handler, setSpeakerParseMode, finalizeSpeakerParse, TOKENS, calculateCost, MODEL
|
||||
from modules.rpgmakerace import handleACE as handler, setSpeakerParseMode, finalizeSpeakerParse, resetSpeakerState, TOKENS, calculateCost, MODEL
|
||||
except Exception as e:
|
||||
engine_name = "rpgmakermvmz" if is_mvmz else "rpgmakerace"
|
||||
self.emit_log(f"❌ Could not import {engine_name} for speaker-parse: {e}")
|
||||
self.finished_signal.emit(False, str(e))
|
||||
return
|
||||
|
||||
# Reset stale speaker data from any previous run
|
||||
try:
|
||||
resetSpeakerState()
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
# Enable speaker parse mode in this process
|
||||
try:
|
||||
setSpeakerParseMode(True)
|
||||
|
|
|
|||
|
|
@ -3731,6 +3731,14 @@ def translateAI(text, history, fullPromptFlag):
|
|||
mismatchList=MISMATCH
|
||||
)
|
||||
|
||||
def resetSpeakerState():
|
||||
"""Clear all speaker-related globals so a fresh run doesn't carry over stale data."""
|
||||
global NAMESLIST, SPEAKER_COLLECTED
|
||||
NAMESLIST = []
|
||||
SPEAKER_COLLECTED = []
|
||||
with _speakerCacheLock:
|
||||
_speakerCache.clear()
|
||||
|
||||
def setSpeakerParseMode(flag: bool):
|
||||
"""Enable/disable speaker-only parse mode."""
|
||||
global SPEAKER_PARSE_MODE
|
||||
|
|
|
|||
|
|
@ -4169,6 +4169,14 @@ def translateAI(text, history, fullPromptFlag):
|
|||
mismatchList=MISMATCH
|
||||
)
|
||||
|
||||
def resetSpeakerState():
|
||||
"""Clear all speaker-related globals so a fresh run doesn't carry over stale data."""
|
||||
global NAMESLIST, SPEAKER_COLLECTED
|
||||
NAMESLIST = []
|
||||
SPEAKER_COLLECTED = []
|
||||
with _speakerCacheLock:
|
||||
_speakerCache.clear()
|
||||
|
||||
def setSpeakerParseMode(flag: bool):
|
||||
"""Enable/disable speaker-only parse mode."""
|
||||
global SPEAKER_PARSE_MODE
|
||||
|
|
|
|||
Loading…
Reference in a new issue