From 7b31f425ff5feb4de912986a119c7909ad988b68 Mon Sep 17 00:00:00 2001 From: Harisreedhar <46858047+harisreedhar@users.noreply.github.com> Date: Wed, 29 Jul 2026 17:44:01 +0530 Subject: [PATCH] guard workflow (#1211) --- facefusion/core.py | 19 +++++++++++-------- facefusion/locales.py | 1 - facefusion/uis/components/workflow.py | 14 +------------- 3 files changed, 12 insertions(+), 22 deletions(-) diff --git a/facefusion/core.py b/facefusion/core.py index 7d086550..0ea7b062 100755 --- a/facefusion/core.py +++ b/facefusion/core.py @@ -315,16 +315,19 @@ def conditional_process() -> ErrorCode: if state_manager.get_item('workflow_mode') == 'auto': state_manager.set_item('workflow_mode', detect_workflow_mode()) - for processor_module in get_processors_modules(state_manager.get_item('processors')): - if not processor_module.pre_process('output'): - return 2 + if state_manager.get_item('workflow_mode') == detect_workflow_mode(): + for processor_module in get_processors_modules(state_manager.get_item('processors')): + if not processor_module.pre_process('output'): + return 2 - if state_manager.get_item('workflow_mode') == 'image-to-image': - return image_to_image.process(start_time) - if state_manager.get_item('workflow_mode') == 'image-to-video': - return image_to_video.process(start_time) + if state_manager.get_item('workflow_mode') == 'image-to-image': + return image_to_image.process(start_time) + if state_manager.get_item('workflow_mode') == 'image-to-video': + return image_to_video.process(start_time) - return 0 + return 0 + + return 2 def detect_workflow_mode() -> WorkflowMode: diff --git a/facefusion/locales.py b/facefusion/locales.py index c90a4ff5..ed2b1eba 100644 --- a/facefusion/locales.py +++ b/facefusion/locales.py @@ -204,7 +204,6 @@ LOCALES : Locales =\ 'clear_button': 'CLEAR', 'download_providers_checkbox_group': 'DOWNLOAD PROVIDERS', 'execution_providers_checkbox_group': 'EXECUTION PROVIDERS', - 'workflow_mode_dropdown': 'WORKFLOW MODE', 'workflow_strategy_dropdown': 'WORKFLOW STRATEGY', 'execution_thread_count_slider': 'EXECUTION THREAD COUNT', 'face_detector_angles_checkbox_group': 'FACE DETECTOR ANGLES', diff --git a/facefusion/uis/components/workflow.py b/facefusion/uis/components/workflow.py index d6486f3a..37492cd9 100644 --- a/facefusion/uis/components/workflow.py +++ b/facefusion/uis/components/workflow.py @@ -4,21 +4,14 @@ import gradio import facefusion.choices from facefusion import state_manager, translator -from facefusion.types import WorkflowMode, WorkflowStrategy +from facefusion.types import WorkflowStrategy -WORKFLOW_MODE_DROPDOWN : Optional[gradio.Dropdown] = None WORKFLOW_STRATEGY_DROPDOWN : Optional[gradio.Dropdown] = None def render() -> None: - global WORKFLOW_MODE_DROPDOWN global WORKFLOW_STRATEGY_DROPDOWN - WORKFLOW_MODE_DROPDOWN = gradio.Dropdown( - label = translator.get('uis.workflow_mode_dropdown'), - choices = facefusion.choices.workflow_modes, - value = state_manager.get_item('workflow_mode') - ) WORKFLOW_STRATEGY_DROPDOWN = gradio.Dropdown( label = translator.get('uis.workflow_strategy_dropdown'), choices = facefusion.choices.workflow_strategies, @@ -27,13 +20,8 @@ def render() -> None: def listen() -> None: - WORKFLOW_MODE_DROPDOWN.change(update_workflow_mode, inputs = WORKFLOW_MODE_DROPDOWN) WORKFLOW_STRATEGY_DROPDOWN.change(update_workflow_strategy, inputs = WORKFLOW_STRATEGY_DROPDOWN) -def update_workflow_mode(workflow_mode : WorkflowMode) -> None: - state_manager.set_item('workflow_mode', workflow_mode) - - def update_workflow_strategy(workflow_strategy : WorkflowStrategy) -> None: state_manager.set_item('workflow_strategy', workflow_strategy)