Introduce signal_exit()
This commit is contained in:
@@ -2,7 +2,6 @@ import itertools
|
|||||||
import shutil
|
import shutil
|
||||||
import signal
|
import signal
|
||||||
import sys
|
import sys
|
||||||
from functools import partial
|
|
||||||
from time import time
|
from time import time
|
||||||
|
|
||||||
import numpy
|
import numpy
|
||||||
@@ -12,7 +11,7 @@ from facefusion.args import apply_args, collect_job_args, reduce_job_args, reduc
|
|||||||
from facefusion.common_helper import get_first
|
from facefusion.common_helper import get_first
|
||||||
from facefusion.content_analyser import analyse_image, analyse_video
|
from facefusion.content_analyser import analyse_image, analyse_video
|
||||||
from facefusion.download import conditional_download_hashes, conditional_download_sources
|
from facefusion.download import conditional_download_hashes, conditional_download_sources
|
||||||
from facefusion.exit_helper import graceful_exit, hard_exit
|
from facefusion.exit_helper import signal_exit, hard_exit
|
||||||
from facefusion.face_analyser import get_average_face, get_many_faces, get_one_face
|
from facefusion.face_analyser import get_average_face, get_many_faces, get_one_face
|
||||||
from facefusion.face_selector import sort_and_filter_faces
|
from facefusion.face_selector import sort_and_filter_faces
|
||||||
from facefusion.face_store import append_reference_face, clear_reference_faces, get_reference_faces
|
from facefusion.face_store import append_reference_face, clear_reference_faces, get_reference_faces
|
||||||
@@ -32,7 +31,7 @@ from facefusion.vision import pack_resolution, read_image, read_static_images, r
|
|||||||
|
|
||||||
def cli() -> None:
|
def cli() -> None:
|
||||||
if pre_check():
|
if pre_check():
|
||||||
signal.signal(signal.SIGINT, partial(graceful_exit, 0))
|
signal.signal(signal.SIGINT, signal_exit)
|
||||||
program = create_program()
|
program = create_program()
|
||||||
|
|
||||||
if validate_args(program):
|
if validate_args(program):
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import signal
|
import signal
|
||||||
import sys
|
import sys
|
||||||
from time import sleep
|
from time import sleep
|
||||||
|
from types import FrameType
|
||||||
|
|
||||||
from facefusion import process_manager, state_manager
|
from facefusion import process_manager, state_manager
|
||||||
from facefusion.temp_helper import clear_temp_directory
|
from facefusion.temp_helper import clear_temp_directory
|
||||||
@@ -12,6 +13,10 @@ def hard_exit(error_code : ErrorCode) -> None:
|
|||||||
sys.exit(error_code)
|
sys.exit(error_code)
|
||||||
|
|
||||||
|
|
||||||
|
def signal_exit(signum : int, frame : FrameType):
|
||||||
|
graceful_exit(0)
|
||||||
|
|
||||||
|
|
||||||
def graceful_exit(error_code : ErrorCode) -> None:
|
def graceful_exit(error_code : ErrorCode) -> None:
|
||||||
process_manager.stop()
|
process_manager.stop()
|
||||||
while process_manager.is_processing():
|
while process_manager.is_processing():
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import subprocess
|
|||||||
import sys
|
import sys
|
||||||
from argparse import ArgumentParser, HelpFormatter
|
from argparse import ArgumentParser, HelpFormatter
|
||||||
from functools import partial
|
from functools import partial
|
||||||
|
from types import FrameType
|
||||||
|
|
||||||
from facefusion import metadata, wording
|
from facefusion import metadata, wording
|
||||||
from facefusion.common_helper import is_linux, is_windows
|
from facefusion.common_helper import is_linux, is_windows
|
||||||
@@ -23,7 +24,7 @@ if is_linux():
|
|||||||
|
|
||||||
|
|
||||||
def cli() -> None:
|
def cli() -> None:
|
||||||
signal.signal(signal.SIGINT, partial(sys.exit, 0))
|
signal.signal(signal.SIGINT, signal_exit)
|
||||||
program = ArgumentParser(formatter_class = partial(HelpFormatter, max_help_position = 50))
|
program = ArgumentParser(formatter_class = partial(HelpFormatter, max_help_position = 50))
|
||||||
program.add_argument('--onnxruntime', help = wording.get('help.install_dependency').format(dependency = 'onnxruntime'), choices = ONNXRUNTIME_SET.keys(), required = True)
|
program.add_argument('--onnxruntime', help = wording.get('help.install_dependency').format(dependency = 'onnxruntime'), choices = ONNXRUNTIME_SET.keys(), required = True)
|
||||||
program.add_argument('--skip-conda', help = wording.get('help.skip_conda'), action = 'store_true')
|
program.add_argument('--skip-conda', help = wording.get('help.skip_conda'), action = 'store_true')
|
||||||
@@ -31,6 +32,10 @@ def cli() -> None:
|
|||||||
run(program)
|
run(program)
|
||||||
|
|
||||||
|
|
||||||
|
def signal_exit(signum : int, frame : FrameType):
|
||||||
|
sys.exit(0)
|
||||||
|
|
||||||
|
|
||||||
def run(program : ArgumentParser) -> None:
|
def run(program : ArgumentParser) -> None:
|
||||||
args = program.parse_args()
|
args = program.parse_args()
|
||||||
has_conda = 'CONDA_PREFIX' in os.environ
|
has_conda = 'CONDA_PREFIX' in os.environ
|
||||||
|
|||||||
Reference in New Issue
Block a user