ff3 / facefusion /cli_helper.py
dangitdarnit's picture
Migrated from GitHub
0a7f3fe verified
raw
history blame
1.14 kB
from typing import Tuple
from facefusion.logger import get_package_logger
from facefusion.types 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.critical(table_separator)
package_logger.critical(table_column.format(*headers))
package_logger.critical(table_separator)
for content in contents:
content = [ str(value) for value in content ]
package_logger.critical(table_column.format(*content))
package_logger.critical(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) + '-+'