def test_disable(): """Test functions.""" toggles.disable_all_colors() assert not toggles.is_enabled() toggles.enable_all_colors() assert toggles.is_enabled() toggles.disable_all_colors() assert not toggles.is_enabled() toggles.enable_all_colors() assert toggles.is_enabled() assert toggles.disable_if_no_tty() # pytest pipes stderr/stdout. assert not toggles.is_enabled()
from textwrap import wrap from colorclass import Windows, Color from colorclass.toggles import disable_if_no_tty from flexget.logger import local_context from flexget.options import ArgumentParser from flexget.utils.tools import io_encoding from terminaltables import AsciiTable, SingleTable, DoubleTable, GithubFlavoredMarkdownTable from terminaltables.terminal_io import terminal_size # Enable terminal colors on windows if sys.platform == 'win32': Windows.enable(auto_colors=True) # Disables colors on no TTY output disable_if_no_tty() class TerminalTable(object): """ A data table suited for CLI output, created via its sent parameters. For example:: header = ['Col1', 'Col2'] table_data = [header] for item in iterable: table_data.append([item.attribute1, item.attribute2]) table = TerminalTable('plain', table_data) print table.output Optional values are setting table title, and supplying wrap_columns list and drop_column list. If table does not fit into terminal any columns listed in