Move render table to cli helper
This commit is contained in:
35
facefusion/cli_helper.py
Normal file
35
facefusion/cli_helper.py
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
from typing import Tuple
|
||||||
|
|
||||||
|
from facefusion.logger import get_package_logger
|
||||||
|
from facefusion.typing import TableContents, TableHeaders
|
||||||
|
|
||||||
|
|
||||||
|
def render_table(headers : TableHeaders, contents : TableContents) -> None:
|
||||||
|
package_logger = get_package_logger()
|
||||||
|
table_column, table_separator = create_table_parts(headers, contents)
|
||||||
|
|
||||||
|
package_logger.info(table_separator)
|
||||||
|
package_logger.info(table_column.format(*headers))
|
||||||
|
package_logger.info(table_separator)
|
||||||
|
|
||||||
|
for content in contents:
|
||||||
|
content = [ value if value else '' for value in content ]
|
||||||
|
package_logger.info(table_column.format(*content))
|
||||||
|
|
||||||
|
package_logger.info(table_separator)
|
||||||
|
|
||||||
|
|
||||||
|
def create_table_parts(headers : TableHeaders, contents : TableContents) -> Tuple[str, str]:
|
||||||
|
column_parts = []
|
||||||
|
separator_parts = []
|
||||||
|
widths = [ len(header) for header in headers ]
|
||||||
|
|
||||||
|
for content in contents:
|
||||||
|
for index, value in enumerate(content):
|
||||||
|
widths[index] = max(widths[index], len(str(value)))
|
||||||
|
|
||||||
|
for width in widths:
|
||||||
|
column_parts.append('{:<' + str(width) + '}')
|
||||||
|
separator_parts.append('-' * width)
|
||||||
|
|
||||||
|
return '| ' + ' | '.join(column_parts) + ' |', '+-' + '-+-'.join(separator_parts) + '-+'
|
||||||
@@ -6,7 +6,7 @@ from time import time
|
|||||||
|
|
||||||
import numpy
|
import numpy
|
||||||
|
|
||||||
from facefusion import content_analyser, face_classifier, face_detector, face_landmarker, face_masker, face_recognizer, logger, process_manager, state_manager, voice_extractor, wording
|
from facefusion import cli_helper, content_analyser, face_classifier, face_detector, face_landmarker, face_masker, face_recognizer, logger, process_manager, state_manager, voice_extractor, wording
|
||||||
from facefusion.args import apply_args, collect_job_args, reduce_job_args, reduce_step_args
|
from facefusion.args import apply_args, collect_job_args, reduce_job_args, reduce_step_args
|
||||||
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
|
||||||
@@ -154,7 +154,7 @@ def route_job_manager(args : Args) -> ErrorCode:
|
|||||||
job_headers, job_contents = compose_job_list(state_manager.get_item('job_status'))
|
job_headers, job_contents = compose_job_list(state_manager.get_item('job_status'))
|
||||||
|
|
||||||
if job_contents:
|
if job_contents:
|
||||||
logger.table(job_headers, job_contents)
|
cli_helper.render_table(job_headers, job_contents)
|
||||||
return 0
|
return 0
|
||||||
return 1
|
return 1
|
||||||
if state_manager.get_item('command') == 'job-create':
|
if state_manager.get_item('command') == 'job-create':
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
from logging import Logger, basicConfig, getLogger
|
from logging import Logger, basicConfig, getLogger
|
||||||
from typing import Tuple
|
|
||||||
|
|
||||||
import facefusion.choices
|
import facefusion.choices
|
||||||
from facefusion.common_helper import get_first, get_last
|
from facefusion.common_helper import get_first, get_last
|
||||||
from facefusion.typing import LogLevel, TableContents, TableHeaders
|
from facefusion.typing import LogLevel
|
||||||
|
|
||||||
|
|
||||||
def init(log_level : LogLevel) -> None:
|
def init(log_level : LogLevel) -> None:
|
||||||
@@ -41,37 +40,6 @@ def create_message(message : str, module_name : str) -> str:
|
|||||||
return message
|
return message
|
||||||
|
|
||||||
|
|
||||||
def table(headers : TableHeaders, contents : TableContents) -> None:
|
|
||||||
package_logger = get_package_logger()
|
|
||||||
table_column, table_separator = create_table_parts(headers, contents)
|
|
||||||
|
|
||||||
package_logger.info(table_separator)
|
|
||||||
package_logger.info(table_column.format(*headers))
|
|
||||||
package_logger.info(table_separator)
|
|
||||||
|
|
||||||
for content in contents:
|
|
||||||
content = [ value if value else '' for value in content ]
|
|
||||||
package_logger.info(table_column.format(*content))
|
|
||||||
|
|
||||||
package_logger.info(table_separator)
|
|
||||||
|
|
||||||
|
|
||||||
def create_table_parts(headers : TableHeaders, contents : TableContents) -> Tuple[str, str]:
|
|
||||||
column_parts = []
|
|
||||||
separator_parts = []
|
|
||||||
widths = [ len(header) for header in headers ]
|
|
||||||
|
|
||||||
for content in contents:
|
|
||||||
for index, value in enumerate(content):
|
|
||||||
widths[index] = max(widths[index], len(str(value)))
|
|
||||||
|
|
||||||
for width in widths:
|
|
||||||
column_parts.append('{:<' + str(width) + '}')
|
|
||||||
separator_parts.append('-' * width)
|
|
||||||
|
|
||||||
return '| ' + ' | '.join(column_parts) + ' |', '+-' + '-+-'.join(separator_parts) + '-+'
|
|
||||||
|
|
||||||
|
|
||||||
def enable() -> None:
|
def enable() -> None:
|
||||||
get_package_logger().disabled = False
|
get_package_logger().disabled = False
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user