gdesk.utils.ansi_code_processor module

Utilities for processing ANSI escape codes and special ASCII characters.

class gdesk.utils.ansi_code_processor.AnsiCodeProcessor

Bases: object

Translates special ASCII characters and ANSI escape codes into readable attributes. It also supports a few non-standard, xterm-specific codes.

bold_text_enabled = False
default_color_map = {}
reset_sgr()

Reset graphics attributs to their default values.

set_csi_code(command, params=[])

Set attributes based on CSI (Control Sequence Introducer) code.

commandstr

The code identifier, i.e. the final character in the sequence.

paramssequence of integers, optional

The parameter codes for the command.

set_osc_code(params)

Set attributes based on OSC (Operating System Command) parameters.

paramssequence of str

The parameters for the command.

set_sgr_code(params)

Set attributes based on SGR (Select Graphic Rendition) codes.

paramssequence of ints

A list of SGR codes for one or more SGR commands. Usually this sequence will have one element per command, although certain xterm-specific commands requires multiple elements.

split_string(string)

Yields substrings for which the same escape code applies.

class gdesk.utils.ansi_code_processor.BackSpaceAction(action)

Bases: tuple

action

Alias for field number 0

class gdesk.utils.ansi_code_processor.BeepAction(action)

Bases: tuple

action

Alias for field number 0

class gdesk.utils.ansi_code_processor.CarriageReturnAction(action)

Bases: tuple

action

Alias for field number 0

class gdesk.utils.ansi_code_processor.EraseAction(action, area, erase_to)

Bases: tuple

action

Alias for field number 0

area

Alias for field number 1

erase_to

Alias for field number 2

class gdesk.utils.ansi_code_processor.MoveAction(action, dir, unit, count)

Bases: tuple

action

Alias for field number 0

count

Alias for field number 3

dir

Alias for field number 1

unit

Alias for field number 2

class gdesk.utils.ansi_code_processor.NewLineAction(action)

Bases: tuple

action

Alias for field number 0

class gdesk.utils.ansi_code_processor.QtAnsiCodeProcessor

Bases: gdesk.utils.ansi_code_processor.AnsiCodeProcessor

Translates ANSI escape codes into QTextCharFormats.

bold_text_enabled = True
color_plot_demo = 'for i in range(32):\n    s = \'\'\n    for j in range(8):\n        n = j + i * 8\n        s += "\x1b[1m %3d: \x1b[0m \x1b[48;5;%dm     \x1b[0m   " % (n,n)\n    print(s)'
default_color_map = {0: (0, 0, 0), 1: (128, 0, 0), 2: (0, 128, 0), 3: (128, 128, 0), 4: (0, 0, 128), 5: (128, 0, 128), 6: (0, 128, 128), 7: (192, 192, 192), 8: (128, 128, 128), 9: (255, 0, 0), 10: (0, 255, 0), 11: (255, 255, 0), 12: (0, 0, 255), 13: (255, 0, 255), 14: (0, 255, 255), 15: (255, 255, 255), 16: (0, 0, 0), 17: (0, 0, 95), 18: (0, 0, 135), 19: (0, 0, 175), 20: (0, 0, 215), 21: (0, 0, 255), 22: (0, 95, 0), 23: (0, 95, 95), 24: (0, 95, 135), 25: (0, 95, 175), 26: (0, 95, 215), 27: (0, 95, 255), 28: (0, 135, 0), 29: (0, 135, 95), 30: (0, 135, 135), 31: (0, 135, 175), 32: (0, 135, 215), 33: (0, 135, 255), 34: (0, 175, 0), 35: (0, 175, 95), 36: (0, 175, 135), 37: (0, 175, 175), 38: (0, 175, 215), 39: (0, 175, 255), 40: (0, 215, 0), 41: (0, 215, 95), 42: (0, 215, 135), 43: (0, 215, 175), 44: (0, 215, 215), 45: (0, 215, 255), 46: (0, 255, 0), 47: (0, 255, 95), 48: (0, 255, 135), 49: (0, 255, 175), 50: (0, 255, 215), 51: (0, 255, 255), 52: (95, 0, 0), 53: (95, 0, 95), 54: (95, 0, 135), 55: (95, 0, 175), 56: (95, 0, 215), 57: (95, 0, 255), 58: (95, 95, 0), 59: (95, 95, 95), 60: (95, 95, 135), 61: (95, 95, 175), 62: (95, 95, 215), 63: (95, 95, 255), 64: (95, 135, 0), 65: (95, 135, 95), 66: (95, 135, 135), 67: (95, 135, 175), 68: (95, 135, 215), 69: (95, 135, 255), 70: (95, 175, 0), 71: (95, 175, 95), 72: (95, 175, 135), 73: (95, 175, 175), 74: (95, 175, 215), 75: (95, 175, 255), 76: (95, 215, 0), 77: (95, 215, 95), 78: (95, 215, 135), 79: (95, 215, 175), 80: (95, 215, 215), 81: (95, 215, 255), 82: (95, 255, 0), 83: (95, 255, 95), 84: (95, 255, 135), 85: (95, 255, 175), 86: (95, 255, 215), 87: (95, 255, 255), 88: (135, 0, 0), 89: (135, 0, 95), 90: (135, 0, 135), 91: (135, 0, 175), 92: (135, 0, 215), 93: (135, 0, 255), 94: (135, 95, 0), 95: (135, 95, 95), 96: (135, 95, 135), 97: (135, 95, 175), 98: (135, 95, 215), 99: (135, 95, 255), 100: (135, 135, 0), 101: (135, 135, 95), 102: (135, 135, 135), 103: (135, 135, 175), 104: (135, 135, 215), 105: (135, 135, 255), 106: (135, 175, 0), 107: (135, 175, 95), 108: (135, 175, 135), 109: (135, 175, 175), 110: (135, 175, 215), 111: (135, 175, 255), 112: (135, 215, 0), 113: (135, 215, 95), 114: (135, 215, 135), 115: (135, 215, 175), 116: (135, 215, 215), 117: (135, 215, 255), 118: (135, 255, 0), 119: (135, 255, 95), 120: (135, 255, 135), 121: (135, 255, 175), 122: (135, 255, 215), 123: (135, 255, 255), 124: (175, 0, 0), 125: (175, 0, 95), 126: (175, 0, 135), 127: (175, 0, 175), 128: (175, 0, 215), 129: (175, 0, 255), 130: (175, 95, 0), 131: (175, 95, 95), 132: (175, 95, 135), 133: (175, 95, 175), 134: (175, 95, 215), 135: (175, 95, 255), 136: (175, 135, 0), 137: (175, 135, 95), 138: (175, 135, 135), 139: (175, 135, 175), 140: (175, 135, 215), 141: (175, 135, 255), 142: (175, 175, 0), 143: (175, 175, 95), 144: (175, 175, 135), 145: (175, 175, 175), 146: (175, 175, 215), 147: (175, 175, 255), 148: (175, 215, 0), 149: (175, 215, 95), 150: (175, 215, 135), 151: (175, 215, 175), 152: (175, 215, 215), 153: (175, 215, 255), 154: (175, 255, 0), 155: (175, 255, 95), 156: (175, 255, 135), 157: (175, 255, 175), 158: (175, 255, 215), 159: (175, 255, 255), 160: (215, 0, 0), 161: (215, 0, 95), 162: (215, 0, 135), 163: (215, 0, 175), 164: (215, 0, 215), 165: (215, 0, 255), 166: (215, 95, 0), 167: (215, 95, 95), 168: (215, 95, 135), 169: (215, 95, 175), 170: (215, 95, 215), 171: (215, 95, 255), 172: (215, 135, 0), 173: (215, 135, 95), 174: (215, 135, 135), 175: (215, 135, 175), 176: (215, 135, 215), 177: (215, 135, 255), 178: (215, 175, 0), 179: (215, 175, 95), 180: (215, 175, 135), 181: (215, 175, 175), 182: (215, 175, 215), 183: (215, 175, 255), 184: (215, 215, 0), 185: (215, 215, 95), 186: (215, 215, 135), 187: (215, 215, 175), 188: (215, 215, 215), 189: (215, 215, 255), 190: (215, 255, 0), 191: (215, 255, 95), 192: (215, 255, 135), 193: (215, 255, 175), 194: (215, 255, 215), 195: (215, 255, 255), 196: (255, 0, 0), 197: (255, 0, 95), 198: (255, 0, 135), 199: (255, 0, 175), 200: (255, 0, 215), 201: (255, 0, 255), 202: (255, 95, 0), 203: (255, 95, 95), 204: (255, 95, 135), 205: (255, 95, 175), 206: (255, 95, 215), 207: (255, 95, 255), 208: (255, 135, 0), 209: (255, 135, 95), 210: (255, 135, 135), 211: (255, 135, 175), 212: (255, 135, 215), 213: (255, 135, 255), 214: (255, 175, 0), 215: (255, 175, 95), 216: (255, 175, 135), 217: (255, 175, 175), 218: (255, 175, 215), 219: (255, 175, 255), 220: (255, 215, 0), 221: (255, 215, 95), 222: (255, 215, 135), 223: (255, 215, 175), 224: (255, 215, 215), 225: (255, 215, 255), 226: (255, 255, 0), 227: (255, 255, 95), 228: (255, 255, 135), 229: (255, 255, 175), 230: (255, 255, 215), 231: (255, 255, 255), 232: (8, 8, 8), 233: (18, 18, 18), 234: (28, 28, 28), 235: (38, 38, 38), 236: (48, 48, 48), 237: (58, 58, 58), 238: (68, 68, 68), 239: (78, 78, 78), 240: (88, 88, 88), 241: (96, 96, 96), 242: (102, 102, 102), 243: (118, 118, 118), 244: (128, 128, 128), 245: (138, 138, 138), 246: (148, 148, 148), 247: (158, 158, 158), 248: (168, 168, 168), 249: (178, 178, 178), 250: (188, 188, 188), 251: (198, 198, 198), 252: (208, 208, 208), 253: (218, 218, 218), 254: (228, 228, 228), 255: (238, 238, 238)}
get_color(color, intensity=0)

Returns a QColor for a given color code, or None if one cannot be constructed.

get_format()

Returns a QTextCharFormat that encodes the current style attributes.

set_background_color(color)

Given a background color (a QColor), attempt to set a color map that will be aesthetically pleasing.

xterm256_colors = {0: (0, 0, 0), 1: (128, 0, 0), 2: (0, 128, 0), 3: (128, 128, 0), 4: (0, 0, 128), 5: (128, 0, 128), 6: (0, 128, 128), 7: (192, 192, 192), 8: (128, 128, 128), 9: (255, 0, 0), 10: (0, 255, 0), 11: (255, 255, 0), 12: (0, 0, 255), 13: (255, 0, 255), 14: (0, 255, 255), 15: (255, 255, 255), 16: (0, 0, 0), 17: (0, 0, 95), 18: (0, 0, 135), 19: (0, 0, 175), 20: (0, 0, 215), 21: (0, 0, 255), 22: (0, 95, 0), 23: (0, 95, 95), 24: (0, 95, 135), 25: (0, 95, 175), 26: (0, 95, 215), 27: (0, 95, 255), 28: (0, 135, 0), 29: (0, 135, 95), 30: (0, 135, 135), 31: (0, 135, 175), 32: (0, 135, 215), 33: (0, 135, 255), 34: (0, 175, 0), 35: (0, 175, 95), 36: (0, 175, 135), 37: (0, 175, 175), 38: (0, 175, 215), 39: (0, 175, 255), 40: (0, 215, 0), 41: (0, 215, 95), 42: (0, 215, 135), 43: (0, 215, 175), 44: (0, 215, 215), 45: (0, 215, 255), 46: (0, 255, 0), 47: (0, 255, 95), 48: (0, 255, 135), 49: (0, 255, 175), 50: (0, 255, 215), 51: (0, 255, 255), 52: (95, 0, 0), 53: (95, 0, 95), 54: (95, 0, 135), 55: (95, 0, 175), 56: (95, 0, 215), 57: (95, 0, 255), 58: (95, 95, 0), 59: (95, 95, 95), 60: (95, 95, 135), 61: (95, 95, 175), 62: (95, 95, 215), 63: (95, 95, 255), 64: (95, 135, 0), 65: (95, 135, 95), 66: (95, 135, 135), 67: (95, 135, 175), 68: (95, 135, 215), 69: (95, 135, 255), 70: (95, 175, 0), 71: (95, 175, 95), 72: (95, 175, 135), 73: (95, 175, 175), 74: (95, 175, 215), 75: (95, 175, 255), 76: (95, 215, 0), 77: (95, 215, 95), 78: (95, 215, 135), 79: (95, 215, 175), 80: (95, 215, 215), 81: (95, 215, 255), 82: (95, 255, 0), 83: (95, 255, 95), 84: (95, 255, 135), 85: (95, 255, 175), 86: (95, 255, 215), 87: (95, 255, 255), 88: (135, 0, 0), 89: (135, 0, 95), 90: (135, 0, 135), 91: (135, 0, 175), 92: (135, 0, 215), 93: (135, 0, 255), 94: (135, 95, 0), 95: (135, 95, 95), 96: (135, 95, 135), 97: (135, 95, 175), 98: (135, 95, 215), 99: (135, 95, 255), 100: (135, 135, 0), 101: (135, 135, 95), 102: (135, 135, 135), 103: (135, 135, 175), 104: (135, 135, 215), 105: (135, 135, 255), 106: (135, 175, 0), 107: (135, 175, 95), 108: (135, 175, 135), 109: (135, 175, 175), 110: (135, 175, 215), 111: (135, 175, 255), 112: (135, 215, 0), 113: (135, 215, 95), 114: (135, 215, 135), 115: (135, 215, 175), 116: (135, 215, 215), 117: (135, 215, 255), 118: (135, 255, 0), 119: (135, 255, 95), 120: (135, 255, 135), 121: (135, 255, 175), 122: (135, 255, 215), 123: (135, 255, 255), 124: (175, 0, 0), 125: (175, 0, 95), 126: (175, 0, 135), 127: (175, 0, 175), 128: (175, 0, 215), 129: (175, 0, 255), 130: (175, 95, 0), 131: (175, 95, 95), 132: (175, 95, 135), 133: (175, 95, 175), 134: (175, 95, 215), 135: (175, 95, 255), 136: (175, 135, 0), 137: (175, 135, 95), 138: (175, 135, 135), 139: (175, 135, 175), 140: (175, 135, 215), 141: (175, 135, 255), 142: (175, 175, 0), 143: (175, 175, 95), 144: (175, 175, 135), 145: (175, 175, 175), 146: (175, 175, 215), 147: (175, 175, 255), 148: (175, 215, 0), 149: (175, 215, 95), 150: (175, 215, 135), 151: (175, 215, 175), 152: (175, 215, 215), 153: (175, 215, 255), 154: (175, 255, 0), 155: (175, 255, 95), 156: (175, 255, 135), 157: (175, 255, 175), 158: (175, 255, 215), 159: (175, 255, 255), 160: (215, 0, 0), 161: (215, 0, 95), 162: (215, 0, 135), 163: (215, 0, 175), 164: (215, 0, 215), 165: (215, 0, 255), 166: (215, 95, 0), 167: (215, 95, 95), 168: (215, 95, 135), 169: (215, 95, 175), 170: (215, 95, 215), 171: (215, 95, 255), 172: (215, 135, 0), 173: (215, 135, 95), 174: (215, 135, 135), 175: (215, 135, 175), 176: (215, 135, 215), 177: (215, 135, 255), 178: (215, 175, 0), 179: (215, 175, 95), 180: (215, 175, 135), 181: (215, 175, 175), 182: (215, 175, 215), 183: (215, 175, 255), 184: (215, 215, 0), 185: (215, 215, 95), 186: (215, 215, 135), 187: (215, 215, 175), 188: (215, 215, 215), 189: (215, 215, 255), 190: (215, 255, 0), 191: (215, 255, 95), 192: (215, 255, 135), 193: (215, 255, 175), 194: (215, 255, 215), 195: (215, 255, 255), 196: (255, 0, 0), 197: (255, 0, 95), 198: (255, 0, 135), 199: (255, 0, 175), 200: (255, 0, 215), 201: (255, 0, 255), 202: (255, 95, 0), 203: (255, 95, 95), 204: (255, 95, 135), 205: (255, 95, 175), 206: (255, 95, 215), 207: (255, 95, 255), 208: (255, 135, 0), 209: (255, 135, 95), 210: (255, 135, 135), 211: (255, 135, 175), 212: (255, 135, 215), 213: (255, 135, 255), 214: (255, 175, 0), 215: (255, 175, 95), 216: (255, 175, 135), 217: (255, 175, 175), 218: (255, 175, 215), 219: (255, 175, 255), 220: (255, 215, 0), 221: (255, 215, 95), 222: (255, 215, 135), 223: (255, 215, 175), 224: (255, 215, 215), 225: (255, 215, 255), 226: (255, 255, 0), 227: (255, 255, 95), 228: (255, 255, 135), 229: (255, 255, 175), 230: (255, 255, 215), 231: (255, 255, 255), 232: (8, 8, 8), 233: (18, 18, 18), 234: (28, 28, 28), 235: (38, 38, 38), 236: (48, 48, 48), 237: (58, 58, 58), 238: (68, 68, 68), 239: (78, 78, 78), 240: (88, 88, 88), 241: (96, 96, 96), 242: (102, 102, 102), 243: (118, 118, 118), 244: (128, 128, 128), 245: (138, 138, 138), 246: (148, 148, 148), 247: (158, 158, 158), 248: (168, 168, 168), 249: (178, 178, 178), 250: (188, 188, 188), 251: (198, 198, 198), 252: (208, 208, 208), 253: (218, 218, 218), 254: (228, 228, 228), 255: (238, 238, 238)}
class gdesk.utils.ansi_code_processor.ScrollAction(action, dir, unit, count)

Bases: tuple

action

Alias for field number 0

count

Alias for field number 3

dir

Alias for field number 1

unit

Alias for field number 2