Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_printer_counts():
p = Printer()
text = "This is a test."
for i in range(2):
p.good(text)
for i in range(1):
p.fail(text)
for i in range(4):
p.warn(text)
assert p.counts[MESSAGES.GOOD] == 2
assert p.counts[MESSAGES.FAIL] == 1
assert p.counts[MESSAGES.WARN] == 4
def test_printer_counts():
p = Printer()
text = "This is a test."
for i in range(2):
p.good(text)
for i in range(1):
p.fail(text)
for i in range(4):
p.warn(text)
assert p.counts[MESSAGES.GOOD] == 2
assert p.counts[MESSAGES.FAIL] == 1
assert p.counts[MESSAGES.WARN] == 4
# Environment variables
ENV_ANSI_DISABLED = "ANSI_COLORS_DISABLED" # no colors
class MESSAGES(object):
GOOD = "good"
FAIL = "fail"
WARN = "warn"
INFO = "info"
COLORS = {
MESSAGES.GOOD: 2,
MESSAGES.FAIL: 1,
MESSAGES.WARN: 3,
MESSAGES.INFO: 4,
"red": 1,
"green": 2,
"yellow": 3,
"blue": 4,
"pink": 5,
"cyan": 6,
"white": 7,
"grey": 8,
"black": 16,
}
ICONS = {
MESSAGES.GOOD: "\u2714" if not NO_UTF8 else "[+]",
MESSAGES.FAIL: "\u2718" if not NO_UTF8 else "[x]",
MESSAGES.WARN: "\u26a0" if not NO_UTF8 else "[!]",
def good(self, title="", text="", show=True, spaced=False, exits=None):
"""Print a success message."""
return self._get_msg(
title, text, style=MESSAGES.GOOD, show=show, spaced=spaced, exits=exits
)
# Environment variables
ENV_ANSI_DISABLED = "ANSI_COLORS_DISABLED" # no colors
class MESSAGES(object):
GOOD = "good"
FAIL = "fail"
WARN = "warn"
INFO = "info"
COLORS = {
MESSAGES.GOOD: 2,
MESSAGES.FAIL: 1,
MESSAGES.WARN: 3,
MESSAGES.INFO: 4,
"red": 1,
"green": 2,
"yellow": 3,
"blue": 4,
"pink": 5,
"cyan": 6,
"white": 7,
"grey": 8,
"black": 16,
}
ICONS = {
MESSAGES.GOOD: "\u2714" if not NO_UTF8 else "[+]",
MESSAGES.FAIL: "\u2718" if not NO_UTF8 else "[x]",
MESSAGES.INFO: 4,
"red": 1,
"green": 2,
"yellow": 3,
"blue": 4,
"pink": 5,
"cyan": 6,
"white": 7,
"grey": 8,
"black": 16,
}
ICONS = {
MESSAGES.GOOD: "\u2714" if not NO_UTF8 else "[+]",
MESSAGES.FAIL: "\u2718" if not NO_UTF8 else "[x]",
MESSAGES.WARN: "\u26a0" if not NO_UTF8 else "[!]",
MESSAGES.INFO: "\u2139" if not NO_UTF8 else "[i]",
}
# Python 2 compatibility
IS_PYTHON_2 = sys.version_info[0] == 2
if IS_PYTHON_2:
basestring_ = basestring # noqa: F821
input_ = raw_input # noqa: F821
zip_longest = itertools.izip_longest # noqa: F821
else:
basestring_ = str
input_ = input
zip_longest = itertools.zip_longest
for idx in instances_idx:
sentence = self.output_analytics["sentences"][idx]
if true_label_idx != pred_label_idx:
stylized_sentence = self.msg_printer.text(
title=sentence,
icon=MESSAGES.FAIL,
color=MESSAGES.FAIL,
no_print=True,
)
else:
stylized_sentence = self.msg_printer.text(
title=sentence,
icon=MESSAGES.GOOD,
color=MESSAGES.GOOD,
no_print=True,
)
print(stylized_sentence)
A list of strings where the true class is classified as pred class.
"""
instances_idx = self.output_df[
self.output_df["true_labels_indices"].isin([true_label_idx])
& self.output_df["predicted_labels_indices"].isin([pred_label_idx])
].index.tolist()
for idx in instances_idx:
sentence = self.output_analytics["sentences"][idx]
if true_label_idx != pred_label_idx:
stylized_sentence = self.msg_printer.text(
title=sentence,
icon=MESSAGES.FAIL,
color=MESSAGES.FAIL,
no_print=True,
)
else:
stylized_sentence = self.msg_printer.text(
title=sentence,
icon=MESSAGES.GOOD,
color=MESSAGES.GOOD,
no_print=True,
)
print(stylized_sentence)
def _get_msg(self, title, text, style=None, show=None, spaced=False, exits=None):
if self.ignore_warnings and style == MESSAGES.WARN:
show = False
self._counts[style] += 1
return self.text(
title, text, color=style, icon=style, show=show, spaced=spaced, exits=exits
)
def fail(self, title="", text="", show=True, spaced=False, exits=None):
"""Print an error message."""
return self._get_msg(
title, text, style=MESSAGES.FAIL, show=show, spaced=spaced, exits=exits
)