Tue, 10 Nov 2020 19:38:00 +0100
Continued implementing the "Run Server" function.
# -*- coding: utf-8 -*- # Copyright (c) 2020 Detlev Offenbach <detlev@die-offenbachs.de> # """ Module implementing functions to work with ANSI escape sequences for colors. """ from PyQt5.QtGui import QColor, QBrush # ANSI Colors (see https://en.wikipedia.org/wiki/ANSI_escape_code) _AnsiColorSchemes = { "Windows 7": { 0: QBrush(QColor(0, 0, 0)), 1: QBrush(QColor(128, 0, 0)), 2: QBrush(QColor(0, 128, 0)), 3: QBrush(QColor(128, 128, 0)), 4: QBrush(QColor(0, 0, 128)), 5: QBrush(QColor(128, 0, 128)), 6: QBrush(QColor(0, 128, 128)), 7: QBrush(QColor(192, 192, 192)), 10: QBrush(QColor(128, 128, 128)), 11: QBrush(QColor(255, 0, 0)), 12: QBrush(QColor(0, 255, 0)), 13: QBrush(QColor(255, 255, 0)), 14: QBrush(QColor(0, 0, 255)), 15: QBrush(QColor(255, 0, 255)), 16: QBrush(QColor(0, 255, 255)), 17: QBrush(QColor(255, 255, 255)), }, "Windows 10": { 0: QBrush(QColor(12, 12, 12)), 1: QBrush(QColor(197, 15, 31)), 2: QBrush(QColor(19, 161, 14)), 3: QBrush(QColor(193, 156, 0)), 4: QBrush(QColor(0, 55, 218)), 5: QBrush(QColor(136, 23, 152)), 6: QBrush(QColor(58, 150, 221)), 7: QBrush(QColor(204, 204, 204)), 10: QBrush(QColor(118, 118, 118)), 11: QBrush(QColor(231, 72, 86)), 12: QBrush(QColor(22, 198, 12)), 13: QBrush(QColor(249, 241, 165)), 14: QBrush(QColor(59, 12, 255)), 15: QBrush(QColor(180, 0, 158)), 16: QBrush(QColor(97, 214, 214)), 17: QBrush(QColor(242, 242, 242)), }, "PuTTY": { 0: QBrush(QColor(0, 0, 0)), 1: QBrush(QColor(187, 0, 0)), 2: QBrush(QColor(0, 187, 0)), 3: QBrush(QColor(187, 187, 0)), 4: QBrush(QColor(0, 0, 187)), 5: QBrush(QColor(187, 0, 187)), 6: QBrush(QColor(0, 187, 187)), 7: QBrush(QColor(187, 187, 187)), 10: QBrush(QColor(85, 85, 85)), 11: QBrush(QColor(255, 85, 85)), 12: QBrush(QColor(85, 255, 85)), 13: QBrush(QColor(255, 255, 85)), 14: QBrush(QColor(85, 85, 255)), 15: QBrush(QColor(255, 85, 255)), 16: QBrush(QColor(85, 255, 255)), 17: QBrush(QColor(255, 255, 255)), }, "xterm": { 0: QBrush(QColor(0, 0, 0)), 1: QBrush(QColor(205, 0, 0)), 2: QBrush(QColor(0, 205, 0)), 3: QBrush(QColor(205, 205, 0)), 4: QBrush(QColor(0, 0, 238)), 5: QBrush(QColor(205, 0, 205)), 6: QBrush(QColor(0, 205, 205)), 7: QBrush(QColor(229, 229, 229)), 10: QBrush(QColor(127, 127, 127)), 11: QBrush(QColor(255, 0, 0)), 12: QBrush(QColor(0, 255, 0)), 13: QBrush(QColor(255, 255, 0)), 14: QBrush(QColor(0, 0, 255)), 15: QBrush(QColor(255, 0, 255)), 16: QBrush(QColor(0, 255, 255)), 17: QBrush(QColor(255, 255, 255)), }, "Ubuntu": { 0: QBrush(QColor(1, 1, 1)), 1: QBrush(QColor(222, 56, 43)), 2: QBrush(QColor(57, 181, 74)), 3: QBrush(QColor(255, 199, 6)), 4: QBrush(QColor(0, 11, 184)), 5: QBrush(QColor(118, 38, 113)), 6: QBrush(QColor(44, 181, 233)), 7: QBrush(QColor(204, 204, 204)), 10: QBrush(QColor(128, 128, 128)), 11: QBrush(QColor(255, 0, 0)), 12: QBrush(QColor(0, 255, 0)), 13: QBrush(QColor(255, 255, 0)), 14: QBrush(QColor(0, 0, 255)), 15: QBrush(QColor(255, 0, 255)), 16: QBrush(QColor(0, 255, 255)), 17: QBrush(QColor(255, 255, 255)), }, "Ubuntu (dark)": { 0: QBrush(QColor(96, 96, 96)), 1: QBrush(QColor(235, 58, 45)), 2: QBrush(QColor(57, 181, 74)), 3: QBrush(QColor(255, 199, 29)), 4: QBrush(QColor(25, 56, 230)), 5: QBrush(QColor(200, 64, 193)), 6: QBrush(QColor(48, 200, 255)), 7: QBrush(QColor(204, 204, 204)), 10: QBrush(QColor(128, 128, 128)), 11: QBrush(QColor(255, 0, 0)), 12: QBrush(QColor(0, 255, 0)), 13: QBrush(QColor(255, 255, 0)), 14: QBrush(QColor(0, 0, 255)), 15: QBrush(QColor(255, 0, 255)), 16: QBrush(QColor(0, 255, 255)), 17: QBrush(QColor(255, 255, 255)), }, "Breeze (dark)": { 0: QBrush(QColor(35, 38, 39)), 1: QBrush(QColor(237, 21, 21)), 2: QBrush(QColor(17, 209, 22)), 3: QBrush(QColor(246, 116, 0)), 4: QBrush(QColor(29, 153, 243)), 5: QBrush(QColor(155, 89, 182)), 6: QBrush(QColor(26, 188, 156)), 7: QBrush(QColor(252, 252, 252)), 10: QBrush(QColor(127, 140, 141)), 11: QBrush(QColor(192, 57, 43)), 12: QBrush(QColor(28, 220, 154)), 13: QBrush(QColor(253, 188, 75)), 14: QBrush(QColor(61, 174, 233)), 15: QBrush(QColor(142, 68, 173)), 16: QBrush(QColor(22, 160, 133)), 17: QBrush(QColor(255, 255, 255)), }, } def getAvailableColorSchemes(): """ Function to get a list of available color schemes. @return list containing the names of the supported color schemes @rtype list of str """ return list(_AnsiColorSchemes.keys()) def getColor(scheme, color): """ Function to get the brush for a given scheme and color. @paran scheme name of the color scheme @type str @param color ANSI color code @type int """ try: return _AnsiColorSchemes[scheme][color] except KeyError: return QBrush()