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) + '-+'
|
||||
Reference in New Issue
Block a user