ff3 / facefusion /exit_helper.py
dangitdarnit's picture
Migrated from GitHub
0a7f3fe verified
raw
history blame
679 Bytes
import signal
import sys
from time import sleep
from types import FrameType
from facefusion import process_manager, state_manager
from facefusion.temp_helper import clear_temp_directory
from facefusion.types import ErrorCode
def hard_exit(error_code : ErrorCode) -> None:
signal.signal(signal.SIGINT, signal.SIG_IGN)
sys.exit(error_code)
def signal_exit(signum : int, frame : FrameType) -> None:
graceful_exit(0)
def graceful_exit(error_code : ErrorCode) -> None:
process_manager.stop()
while process_manager.is_processing():
sleep(0.5)
if state_manager.get_item('target_path'):
clear_temp_directory(state_manager.get_item('target_path'))
hard_exit(error_code)