ProjectFlask/AnsiTools.py

Sat, 23 Dec 2023 15:48:52 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 23 Dec 2023 15:48:52 +0100
branch
eric7
changeset 83
d8788dc3442f
parent 82
bb14c648099b
child 87
075f7667f69d
permissions
-rw-r--r--

Updated copyright for 2024.

5
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
83
d8788dc3442f Updated copyright for 2024.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 82
diff changeset
3 # Copyright (c) 2020 - 2024 Detlev Offenbach <detlev@die-offenbachs.de>
5
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing functions to work with ANSI escape sequences for colors.
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
75
7a30d96ea9f6 Resorted the import statements with isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
10 from PyQt6.QtGui import QBrush, QColor
5
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 # ANSI Colors (see https://en.wikipedia.org/wiki/ANSI_escape_code)
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 _AnsiColorSchemes = {
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 "Windows 7": {
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 0: QBrush(QColor(0, 0, 0)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 1: QBrush(QColor(128, 0, 0)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 2: QBrush(QColor(0, 128, 0)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 3: QBrush(QColor(128, 128, 0)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 4: QBrush(QColor(0, 0, 128)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 5: QBrush(QColor(128, 0, 128)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 6: QBrush(QColor(0, 128, 128)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 7: QBrush(QColor(192, 192, 192)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 },
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 "Windows 10": {
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 0: QBrush(QColor(12, 12, 12)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 1: QBrush(QColor(197, 15, 31)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 2: QBrush(QColor(19, 161, 14)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 3: QBrush(QColor(193, 156, 0)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 4: QBrush(QColor(0, 55, 218)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 5: QBrush(QColor(136, 23, 152)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 6: QBrush(QColor(58, 150, 221)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 7: QBrush(QColor(204, 204, 204)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 },
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 "PuTTY": {
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 0: QBrush(QColor(0, 0, 0)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 1: QBrush(QColor(187, 0, 0)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 2: QBrush(QColor(0, 187, 0)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 3: QBrush(QColor(187, 187, 0)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 4: QBrush(QColor(0, 0, 187)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 5: QBrush(QColor(187, 0, 187)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 6: QBrush(QColor(0, 187, 187)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 7: QBrush(QColor(187, 187, 187)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 },
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 "xterm": {
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 0: QBrush(QColor(0, 0, 0)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 1: QBrush(QColor(205, 0, 0)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 2: QBrush(QColor(0, 205, 0)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 3: QBrush(QColor(205, 205, 0)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 4: QBrush(QColor(0, 0, 238)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 5: QBrush(QColor(205, 0, 205)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 6: QBrush(QColor(0, 205, 205)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 7: QBrush(QColor(229, 229, 229)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 },
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 "Ubuntu": {
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 0: QBrush(QColor(1, 1, 1)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 1: QBrush(QColor(222, 56, 43)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 2: QBrush(QColor(57, 181, 74)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 3: QBrush(QColor(255, 199, 6)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 4: QBrush(QColor(0, 11, 184)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 5: QBrush(QColor(118, 38, 113)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 6: QBrush(QColor(44, 181, 233)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 7: QBrush(QColor(204, 204, 204)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 },
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 "Ubuntu (dark)": {
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 0: QBrush(QColor(96, 96, 96)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 1: QBrush(QColor(235, 58, 45)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 2: QBrush(QColor(57, 181, 74)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 3: QBrush(QColor(255, 199, 29)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 4: QBrush(QColor(25, 56, 230)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 5: QBrush(QColor(200, 64, 193)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 6: QBrush(QColor(48, 200, 255)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 7: QBrush(QColor(204, 204, 204)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 },
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 "Breeze (dark)": {
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 0: QBrush(QColor(35, 38, 39)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 1: QBrush(QColor(237, 21, 21)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 2: QBrush(QColor(17, 209, 22)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 3: QBrush(QColor(246, 116, 0)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 4: QBrush(QColor(29, 153, 243)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 5: QBrush(QColor(155, 89, 182)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 6: QBrush(QColor(26, 188, 156)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 7: QBrush(QColor(252, 252, 252)),
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83 },
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 }
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 def getAvailableColorSchemes():
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88 """
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 Function to get a list of available color schemes.
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
90
5
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 @return list containing the names of the supported color schemes
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92 @rtype list of str
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
93 """
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
94 return list(_AnsiColorSchemes.keys())
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
95
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97 def getColor(scheme, color):
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98 """
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99 Function to get the brush for a given scheme and color.
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
100
6
d491ccab7343 Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
101 @param scheme name of the color scheme
5
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
102 @type str
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103 @param color ANSI color code
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
104 @type int
6
d491ccab7343 Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
105 @return brush for the given parameters or None in case of error
d491ccab7343 Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
106 @rtype QBrush or None
5
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
107 """
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
108 try:
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
109 return _AnsiColorSchemes[scheme][color]
550e5ea385cb Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
110 except KeyError:
6
d491ccab7343 Continued implementing the "Run Server" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
111 return None

eric ide

mercurial