From 2cd4276953ef25d779bb5231f165cea74ccdeee0 Mon Sep 17 00:00:00 2001 From: Martin Matusiak Date: Sat, 8 Mar 2014 15:18:28 +0100 Subject: move demos to a separate module --- ansicolor/ansicolor.py | 96 -------------------------------------------- ansicolor/demos.py | 106 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 106 insertions(+), 96 deletions(-) create mode 100644 ansicolor/demos.py (limited to 'ansicolor') diff --git a/ansicolor/ansicolor.py b/ansicolor/ansicolor.py index 4841ee9..628078a 100644 --- a/ansicolor/ansicolor.py +++ b/ansicolor/ansicolor.py @@ -306,99 +306,3 @@ def write_out(s): def write_err(s): '''Write a string to stderr, strip escapes if output is a pipe''' write_to(sys.stderr, s) - - -if __name__ == '__main__': - def test_color(): - width = 10 - - lst = [] - - lst.extend([[], ['>>> Without colors'], []]) - line = [] - line.append(colorize("Standard".ljust(width), None)) - line.append(colorize("Bold".ljust(width), None, bold=True)) - line.append(colorize("Reverse".ljust(width), None, reverse=True)) - line.append(colorize("Bold & Rev".ljust(width), None, bold=True, reverse=True)) # noqa - lst.append(line) - - lst.extend([[], ['>>> Using colors'], []]) - for color in Colors.iter(): - line = [] - line.append(colorize(color.__name__.ljust(width), color)) - line.append(colorize(color.__name__.ljust(width), color, bold=True)) # noqa - line.append(colorize(color.__name__.ljust(width), color, reverse=True)) # noqa - line.append(colorize(color.__name__.ljust(width), color, bold=True, reverse=True)) # noqa - lst.append(line) - - lst.extend([[], ['>>> Using highlighting colors'], []]) - for color in Colors.iter(): - color = get_highlighter(color.id) - line = [] - line.append(colorize(color.__name__.ljust(width), color)) - line.append(colorize(color.__name__.ljust(width), color, bold=True)) # noqa - line.append(colorize(color.__name__.ljust(width), color, reverse=True)) # noqa - line.append(colorize(color.__name__.ljust(width), color, bold=True, reverse=True)) # noqa - lst.append(line) - - for line in lst: - for item in line: - write_out('%s ' % item) - write_out("\n") - - def test_highlight(): - import re - rxs = [ - '(b+).*\\1', - '(c+).*\\1', - '(d+).*\\1', - '(e+).*\\1', - ] - s = """\ -aaabbbcccdddeeefffeeedddcccbbbaaa -fffeeedddcccbbbaaabbbcccdddeeefff -""" - def display(rxs, s): - spanlists = [] - for rx in rxs: - spanlist = [] - for m in re.finditer(rx, s): - spanlist.append(m.span()) - spanlists.append(spanlist) - s = highlight_string(s, *spanlists) - for (i, rx) in enumerate(rxs): - color = get_highlighter(i) - color = colorize(color.__name__.ljust(10), color) - write_out('Regex %s: %s %s\n' % (i, color, rx)) - write_out(s) - - for i in range(0, len(rxs) + 1): - write_out('\n') - display(rxs[:i], s) - - def test_diff(): - def display_diff(s, t): - (s_fmt, t_fmt) = colordiff(s, t) - write_out('>>> %s\n' % s_fmt) - write_out(' %s\n\n' % t_fmt) - - display_diff('first last', 'First Last') - display_diff('the the boss', 'the boss') - display_diff('the coder', 'the first coder') - display_diff('agcat', 'gac') - display_diff('XMJYAUZ', 'MZJAWXU') - display_diff('abcdfghjqz', 'abcdefgijkrxyz') - - - try: - action = sys.argv[1] - except IndexError: - print("Usage: %s [ --color | --highlight | --diff ]" % sys.argv[0]) - sys.exit(1) - - if action == '--color': - test_color() - elif action == '--highlight': - test_highlight() - elif action == '--diff': - test_diff() diff --git a/ansicolor/demos.py b/ansicolor/demos.py new file mode 100644 index 0000000..d2892aa --- /dev/null +++ b/ansicolor/demos.py @@ -0,0 +1,106 @@ +from __future__ import absolute_import + +import re +import sys + +from ansicolor.ansicolor import Colors +from ansicolor.ansicolor import colorize +from ansicolor.ansicolor import colordiff +from ansicolor.ansicolor import get_highlighter +from ansicolor.ansicolor import highlight_string +from ansicolor.ansicolor import write_out + + +if __name__ == '__main__': + def test_color(): + width = 10 + + lst = [] + + lst.extend([[], ['>>> Without colors'], []]) + line = [] + line.append(colorize("Standard".ljust(width), None)) + line.append(colorize("Bold".ljust(width), None, bold=True)) + line.append(colorize("Reverse".ljust(width), None, reverse=True)) + line.append(colorize("Bold & Rev".ljust(width), None, bold=True, reverse=True)) # noqa + lst.append(line) + + lst.extend([[], ['>>> Using colors'], []]) + for color in Colors.iter(): + line = [] + line.append(colorize(color.__name__.ljust(width), color)) + line.append(colorize(color.__name__.ljust(width), color, bold=True)) # noqa + line.append(colorize(color.__name__.ljust(width), color, reverse=True)) # noqa + line.append(colorize(color.__name__.ljust(width), color, bold=True, reverse=True)) # noqa + lst.append(line) + + lst.extend([[], ['>>> Using highlighting colors'], []]) + for color in Colors.iter(): + color = get_highlighter(color.id) + line = [] + line.append(colorize(color.__name__.ljust(width), color)) + line.append(colorize(color.__name__.ljust(width), color, bold=True)) # noqa + line.append(colorize(color.__name__.ljust(width), color, reverse=True)) # noqa + line.append(colorize(color.__name__.ljust(width), color, bold=True, reverse=True)) # noqa + lst.append(line) + + for line in lst: + for item in line: + write_out('%s ' % item) + write_out("\n") + + def test_highlight(): + rxs = [ + '(b+).*\\1', + '(c+).*\\1', + '(d+).*\\1', + '(e+).*\\1', + ] + s = """\ +aaabbbcccdddeeefffeeedddcccbbbaaa +fffeeedddcccbbbaaabbbcccdddeeefff +""" + def display(rxs, s): + spanlists = [] + for rx in rxs: + spanlist = [] + for m in re.finditer(rx, s): + spanlist.append(m.span()) + spanlists.append(spanlist) + s = highlight_string(s, *spanlists) + for (i, rx) in enumerate(rxs): + color = get_highlighter(i) + color = colorize(color.__name__.ljust(10), color) + write_out('Regex %s: %s %s\n' % (i, color, rx)) + write_out(s) + + for i in range(0, len(rxs) + 1): + write_out('\n') + display(rxs[:i], s) + + def test_diff(): + def display_diff(s, t): + (s_fmt, t_fmt) = colordiff(s, t) + write_out('>>> %s\n' % s_fmt) + write_out(' %s\n\n' % t_fmt) + + display_diff('first last', 'First Last') + display_diff('the the boss', 'the boss') + display_diff('the coder', 'the first coder') + display_diff('agcat', 'gac') + display_diff('XMJYAUZ', 'MZJAWXU') + display_diff('abcdfghjqz', 'abcdefgijkrxyz') + + + try: + action = sys.argv[1] + except IndexError: + print("Usage: %s [ --color | --highlight | --diff ]" % sys.argv[0]) + sys.exit(1) + + if action == '--color': + test_color() + elif action == '--highlight': + test_highlight() + elif action == '--diff': + test_diff() -- cgit v1.2.1