printcolored 2.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- printColored/Fonter.py +84 -0
- printColored/__init__.py +3 -0
- printColored/__main__.py +163 -0
- printColored/core.py +258 -0
- printColored/formats.py +205 -0
- printcolored-2.0.dist-info/METADATA +3 -0
- printcolored-2.0.dist-info/RECORD +9 -0
- printcolored-2.0.dist-info/WHEEL +5 -0
- printcolored-2.0.dist-info/top_level.txt +1 -0
printColored/Fonter.py
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"""
|
|
2
|
+
credits to https://lingojam.com/FancyTextGenerator for all fonts
|
|
3
|
+
"""
|
|
4
|
+
#also note that sometimes some characters are displayed on the same
|
|
5
|
+
#place for example the W&O and H&E in the san_andreas font
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
from random import *
|
|
9
|
+
|
|
10
|
+
fonts = {
|
|
11
|
+
"original": ("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","0","1","2","3","4","5","6","7","8","9","!","$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","?","@","[","\\","]","^","_","`","{","|","}","~"),
|
|
12
|
+
|
|
13
|
+
"san_andreas":("๐","๐","๐ ","๐ก","๐ข","๐ฃ","๐ค","๐ฅ","๐ฆ","๐ง","๐จ","๐ฉ","๐ช","๐ซ","๐ฌ","๐ญ","๐ฎ","๐ฏ","๐ฐ","๐ฑ","๐ฒ","๐ณ","๐ด","๐ต","๐ถ","๐ท","๐","๐
","โญ","๐","๐","๐","๐","โ","โ","๐","๐","๐","๐","๐","๐","๐","๐","โ","๐","๐","๐","๐","๐","๐","๐","โจ"," ","0","1","2","3","4","5","6","7","8","9","!","$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","?","@","[","\\","]","^","_","`","{","|","}","~"),
|
|
14
|
+
|
|
15
|
+
"san_andreas_bold":("๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐ฌ","๐ญ","๐ฎ","๐ฏ","๐ฐ","๐ฑ","๐ฒ","๐ณ","๐ด","๐ต","๐ถ","๐ท","๐ธ","๐น","๐บ","๐ป","๐ผ","๐ฝ","๐พ","๐ฟ","๐","๐","๐","๐","๐","๐
"," ","0","1","2","3","4","5","6","7","8","9","!","$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","?","@","[","\\","]","^","_","`","{","|","}","~"),
|
|
16
|
+
|
|
17
|
+
"fancy_bold": ("๐ช","๐ซ","๐ฌ","๐ญ","๐ฎ","๐ฏ","๐ฐ","๐ฑ","๐ฒ","๐ณ","๐ด","๐ต","๐ถ","๐ท","๐ธ","๐น","๐บ","๐ป","๐ผ","๐ฝ","๐พ","๐ฟ","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐ ","๐ก","๐ข","๐ฃ","๐ค","๐ฅ","๐ฆ","๐ง","๐จ","๐ฉ"," ","0","1","2","3","4","5","6","7","8","9","!","$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","?","@","[","\\","]","^","_","`","{","|","}","~"),
|
|
18
|
+
|
|
19
|
+
"fancy":("๐ถ","๐ท","๐ธ","๐น","๐","๐ป","๐","๐ฝ","๐พ","๐ฟ","๐","๐","๐","๐","๐","๐
","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐ต","๐","๐","๐ธ","๐น","๐ข","๐ป","๐ผ","๐ฅ","๐ฆ","๐ฟ","๐","๐ฉ","๐ช","๐ซ","๐ฌ","๐
","๐ฎ","๐ฏ","๐ฐ","๐ฑ","๐ฒ","๐ณ","๐ด","๐ต"," ","๐ข","๐ฃ","๐ค","๐ฅ","๐ฆ","๐ง","๐จ","๐ฉ","๐ช","๐ซ","!","$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","?","@","[","\\","]","^","_","`","{","|","}","~"),
|
|
20
|
+
|
|
21
|
+
"hollow": ("๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐","๐ ","๐ก","๐ข","๐ฃ","๐ค","๐ฅ","๐ฆ","๐ง","๐จ","๐ฉ","๐ช","๐ซ","๐ธ","๐น","โ","๐ป","๐ผ","๐ฝ","๐พ","โ","๐","๐","๐","๐","๐","โ","๐","โ","โ","โ","๐","๐","๐","๐","๐","๐","๐","โค"," ","๐","๐","๐","๐","๐","๐","๐","๐","๐ ","๐ก","!","$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","?","@","[","\\","]","^","_","`","{","|","}","~"),
|
|
22
|
+
|
|
23
|
+
"large": ("๏ฝ","๏ฝ","๏ฝ","๏ฝ","๏ฝ
","๏ฝ","๏ฝ","๏ฝ","๏ฝ","๏ฝ","๏ฝ","๏ฝ","๏ฝ","๏ฝ","๏ฝ","๏ฝ","๏ฝ","๏ฝ","๏ฝ","๏ฝ","๏ฝ","๏ฝ","๏ฝ","๏ฝ","๏ฝ","๏ฝ","๏ผก","๏ผข","๏ผฃ","๏ผค","๏ผฅ","๏ผฆ","๏ผง","๏ผจ","๏ผฉ","๏ผช","๏ผซ","๏ผฌ","๏ผญ","๏ผฎ","๏ผฏ","๏ผฐ","๏ผฑ","๏ผฒ","๏ผณ","๏ผด","๏ผต","๏ผถ","๏ผท","๏ผธ","๏ผน","๏ผบ"," ","๏ผ","๏ผ","๏ผ","๏ผ","๏ผ","๏ผ","๏ผ","๏ผ","๏ผ","๏ผ","๏ผ","๏ผ","๏ผ
","๏ผ","๏ผ","๏ผ","๏ผ","๏ผ","๏ผ",",","๏ผ","๏ผ","๏ผ","๏ผ","๏ผ","<","๏ผ",">","๏ผ","๏ผ ","[","\\","]","^","_","`","{","|","}","~"),
|
|
24
|
+
|
|
25
|
+
"small": ("แด","ส","แด","แด
","แด","๊ฐ","ษข","ส","ษช","แด","แด","ส","แด","ษด","แด","แด","Q","ส","๊ฑ","แด","แด","แด ","แดก","x","ส","แดข","แด","ส","แด","แด
","แด","๊ฐ","ษข","ส","ษช","แด","แด","ส","แด","ษด","แด","แด","Q","ส","๊ฑ","แด","แด","แด ","แดก","x","ส","แดข"," ","0","1","2","3","4","5","6","7","8","9","!","$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","?","@","[","\\","]","^","_","`","{","|","}","~"),
|
|
26
|
+
|
|
27
|
+
"chinese": ("๊","๊","๊","๊ธ","๊","๊","๊
","๊
","๊ค","๊ญ","๊","๊","๊ต","๊ค","๊ฆ","๊ฃ","๊ฐ","๊ช","๊","๊","๊","๊ด","๊
","๊ผ","๊ฉ","๊ด","๊","๊","๊","๊ธ","๊","๊","๊
","๊
","๊ค","๊ญ","๊","๊","๊ต","๊ค","๊ฆ","๊ฃ","๊ฐ","๊ช","๊","๊","๊","๊ด","๊
","๊ผ","๊ฉ","๊ด"," ","0","1","2","3","4","5","6","7","8","9","!","$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","?","@","[","\\","]","^","_","`","{","|","}","~"),
|
|
28
|
+
|
|
29
|
+
"squared": ("๐
ฐ","๐
ฑ","๐
ฒ","๐
ณ","๐
ด","๐
ต","๐
ถ","๐
ท","๐
ธ","๐
น","๐
บ","๐
ป","๐
ผ","๐
ฝ","๐
พ","๐
ฟ","๐","๐","๐","๐","๐","๐
","๐","๐","๐","๐","๐
ฐ","๐
ฑ","๐
ฒ","๐
ณ","๐
ด","๐
ต","๐
ถ","๐
ท","๐
ธ","๐
น","๐
บ","๐
ป","๐
ผ","๐
ฝ","๐
พ","๐
ฟ","๐","๐","๐","๐","๐","๐
","๐","๐","๐","๐"," ","0","1","2","3","4","5","6","7","8","9","!","$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","?","@","[","\\","]","^","_","`","{","|","}","~"),
|
|
30
|
+
|
|
31
|
+
"pointed": ("aอ","bอ","cอ","dอ","eอ","fอ","gอ","hอ","iอ","jอ","kอ","lอ","mอ","nอ","oอ","pอ","qอ","rอ","sอ","tอ","uอ","vอ","wอ","xอ","yอ","zอ","Aอ","Bอ","Cอ","Dอ","Eอ","Fอ","Gอ","Hอ","Iอ","Jอ","Kอ","Lอ","Mอ","Nอ","Oอ","Pอ","Qอ","Rอ","Sอ","Tอ","Uอ","Vอ","Wอ","Xอ","Yอ","Zอ"," อ","0อ","1อ","2อ","3อ","4อ","5อ","6อ","7อ","8อ","9อ","!อ","$อ","%อ","&อ",",","(อ",")อ","*อ","+อ",",","-อ",".อ","/อ",":อ",";อ","<อ","=อ",">อ","?อ","@อ","[อ","\อ","]อ","^อ","_อ","`อ","{อ","|อ","}อ","~อ"),
|
|
32
|
+
|
|
33
|
+
"power": ("แต","แต","แถ","แต","แต","แถ ","แต","สฐ","โฑ","สฒ","แต","หก","แต","โฟ","แต","แต","q","สณ","หข","แต","แต","แต","สท","หฃ","สธ","แถป","แดฌ","แดฎ","แถ","แดฐ","แดฑ","แถ ","แดณ","แดด","แดต","แดถ","แดท","แดธ","แดน","แดบ","แดผ","แดพ","Q","แดฟ","หข","แต","แต","โฑฝ","แต","หฃ","สธ","แถป"," ","โฐ","ยน","ยฒ","ยณ","โด","โต","โถ","โท","โธ","โน","!","$","%","&",",","โฝ","โพ","*","โบ",",","โป",".","/",":",";","<","โผ",">","?","@","[","\\","]","^","_","`","{","|","}","~"),
|
|
34
|
+
|
|
35
|
+
"weird": ("แฉ","แท","แ","แช","E","แด","G","แผ","I","แ","K","แช","แฐ","แ","O","แญ","แซ","แ","แ","T","แ","แฏ","แฏ","แญ","Y","แ","แฉ","แท","แ","แช","E","แด","G","แผ","I","แ","K","แช","แฐ","แ","O","แญ","แซ","แ","แ","T","แ","แฏ","แฏ","แญ","Y","แ"," ","0","1","2","3","4","5","6","7","8","9","!","$","%","&",",","(",")","*","+",",","-",".","/",":",";","<","=",">","?","@","[","\\","]","^","_","`","{","|","}","~"),
|
|
36
|
+
|
|
37
|
+
"weird2": ("แฉ","แท","แข","แฒ","แฟ","แด","แ","แผ","แฐ","แ","แฝแธ","แช","แป","แ","แ","แต","แด","แ","S","แถ","แ","แบ","แบ","แญ","แป","แฑ","แฉ","แท","แข","แฒ","แฟ","แด","แ","แผ","แฐ","แ","แฝแธ","แช","แป","แ","แ","แต","แด","แ","S","แถ","แ","แบ","แบ","แญ","แป","แฑ"," ","0","1","2","3","4","5","6","7","8","9","!","$","%","&",",","(",")","*","+",",","-",".","/",":",";","<","=",">","?","@","[","\\","]","^","_","`","{","|","}","~"),
|
|
38
|
+
|
|
39
|
+
"japanese":("ๅ","ไน","ๅ","แช","ไน","ๅ","แถ","ๅ","ไธจ","๏พ","า","ใฅ","็ช","ๅ ","ใ","ๅฉ","ษ","ๅฐบ","ไธ","ใ","ใฉ","แฏ","ๅฑฑ","ไน","ใ","ไน","ๅ","ไน","ๅ","แช","ไน","ๅ","แถ","ๅ","ไธจ","๏พ","า","ใฅ","็ช","ๅ ","ใ","ๅฉ","ษ","ๅฐบ","ไธ","ใ","ใฉ","แฏ","ๅฑฑ","ไน","ใ","ไน"," ","0","1","2","3","4","5","6","7","8","9","!","$","%","&",",","(",")","*","+",",","-",".","/",":",";","<","=",">","?","@","[","\\","]","^","_","`","{","|","}","~"),
|
|
40
|
+
|
|
41
|
+
"japanese2":("๏พ","ไน","แ","ใ","ไน","๏ฝท","ใ ","ใ","๏พ","๏พ","ใบ","๏พ","๏พถ","ๅ","ใฎ","๏ฝฑ","ใ","ๅฐบ","ไธ","๏ฝฒ","ใฒ","โ","W","๏พ","๏พ","ไน","๏พ","ไน","แ","ใ","ไน","๏ฝท","ใ ","ใ","๏พ","๏พ","ใบ","๏พ","๏พถ","ๅ","ใฎ","๏ฝฑ","ใ","ๅฐบ","ไธ","๏ฝฒ","ใฒ","โ","W","๏พ","๏พ","ไน"," ","0","1","2","3","4","5","6","7","8","9","!","$","%","&",",","(",")","*","+",",","-",".","/",":",";","<","=",">","?","@","[","\\","]","^","_","`","{","|","}","~"),
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
random_decorators = {
|
|
49
|
+
"chess": ("โ","โ","โ","โ","โ","โ","โ,","โ","โ","โ","โ","โ"),
|
|
50
|
+
"cards": ("โ ","โก","โข","โฃ","โค","โฅ","โฆ","โง","โ","โ
")
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
decorators = {
|
|
54
|
+
"barrier": ("ใ","ใ"),
|
|
55
|
+
"barrier2": ("ใ","ใ"),
|
|
56
|
+
"notes": ("ยท.ยธยธ.ยทโฉโชโซ" , "โซโชโฉยท.ยธยธ.ยท"),
|
|
57
|
+
"single_notes": ("โช","โซ"),
|
|
58
|
+
"transcending":("ยธ.-โข~ยนยฐโหหยจ'" , "'ยจหหโยฐยน~โข-.ยธ"),
|
|
59
|
+
"star": (".โขยฐยค*(ยฏ`โ
ยดยฏ)*ยคยฐ", "ยฐยค*(ยฏยดโ
`ยฏ)*ยคยฐโข."),
|
|
60
|
+
"curly": ("โโยทโซโซแตแดผแตโซโโโซแตแดผแตโซโโโซแตแดผแต" , "แตแดผแตโซโโโซแตแดผแตโซโโโซแตแดผแตโซโซยทโโ"), # TOO DAMN LONG
|
|
61
|
+
"short_curly": ("ยทโซโซแตแดผแตโซโโ" , "โโโซแตแดผแตโซโซยท"), # better
|
|
62
|
+
"flower": ("โฆโขโโโฟ", "โฟโโโขโฆ"),
|
|
63
|
+
"dot": ("โขยดยฏ`โข." , ".โขยดยฏ`โข"),
|
|
64
|
+
"hearts": ("โฅ", "โฃโค"),
|
|
65
|
+
"crystal": ("โงฉโก", "โ๏ปฟ"),
|
|
66
|
+
"rifle": ("หโ*ยฐโข.หโ*ยฐโข","โขยฐ*โห.โขยฐ*โห"),
|
|
67
|
+
"short_rifle": ("หโ*ยฐโข.",".โขยฐ*โห"),
|
|
68
|
+
"brackets": ("โฆ", "โฆ"),
|
|
69
|
+
"chess": (choice(random_decorators["chess"]), choice(random_decorators["chess"])),
|
|
70
|
+
"cards": (choice(random_decorators["cards"]), choice(random_decorators["cards"])),
|
|
71
|
+
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
def Fonter(text, font, decorator=""):
|
|
77
|
+
original = fonts["original"]
|
|
78
|
+
fontedtext = []
|
|
79
|
+
for letter in text:
|
|
80
|
+
fontedtext.append(fonts[font][original.index(letter)] if letter in original else letter)
|
|
81
|
+
result = "".join(fontedtext)
|
|
82
|
+
if decorator == "":
|
|
83
|
+
return result
|
|
84
|
+
return f"{decorators[decorator][0]}{result}{decorators[decorator][1]}"
|
printColored/__init__.py
ADDED
printColored/__main__.py
ADDED
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
from .core import *
|
|
2
|
+
|
|
3
|
+
if __name__ == '__main__':
|
|
4
|
+
deco = Theme("green", "bold")
|
|
5
|
+
deco2 = Theme("bright_blue", "bold")
|
|
6
|
+
deco3 = Theme("bright_yellow")
|
|
7
|
+
border = "--------------------------------"
|
|
8
|
+
deco.print(border)
|
|
9
|
+
|
|
10
|
+
choice = True if input("Do you want to see all available formats?(Y/N): ").lower() == "y" else False
|
|
11
|
+
if choice:
|
|
12
|
+
print("All available formats:")
|
|
13
|
+
formatfinder("ย ","ย ")
|
|
14
|
+
|
|
15
|
+
deco.print(border)
|
|
16
|
+
choice = True if input("Do you want to see all existing formats in range 1-107?(Y/N): ").lower() == "y" else False
|
|
17
|
+
if choice:
|
|
18
|
+
print("All possible formats in range of 1-107:")
|
|
19
|
+
formatfinder("1","107")
|
|
20
|
+
|
|
21
|
+
deco.print(border)
|
|
22
|
+
choice = True if input("Do you want to see all Fonter and decorators in the extra file?(Y/N): ").lower() == "y" else False
|
|
23
|
+
if choice:
|
|
24
|
+
print("All Fonter + decorators available:")
|
|
25
|
+
formatfinder(" ","font")
|
|
26
|
+
|
|
27
|
+
deco.print(border)
|
|
28
|
+
|
|
29
|
+
deco2.print(border)
|
|
30
|
+
print("Guide for using the functions:")
|
|
31
|
+
deco2.print(border)
|
|
32
|
+
|
|
33
|
+
# main functions:
|
|
34
|
+
|
|
35
|
+
# printColored()
|
|
36
|
+
deco.print(border)
|
|
37
|
+
print("Page 1:")
|
|
38
|
+
printColored("Example use of printColored()".center(32), "green","bold","italic")
|
|
39
|
+
print("Main function, enter text, then formats, and the text will come formatted based on the provided formats")
|
|
40
|
+
print("Take a look at the dictionary and enter formats to use")
|
|
41
|
+
deco.print(border)
|
|
42
|
+
input("Press enter to continue...")
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
# colorGen()
|
|
46
|
+
deco.print(border)
|
|
47
|
+
print("Page 2:")
|
|
48
|
+
print(
|
|
49
|
+
f"{colorGen('red', 'bold')} Example use "
|
|
50
|
+
f"{colorGen('', 'strikethrough', 'blue')}of colorGen()"
|
|
51
|
+
f"{colorGen('')}"
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
genformat1 = colorGen("bright_white", "highlight_blue")
|
|
56
|
+
genformat2 = colorGen("", "yellow", "highlight_green", "underline")
|
|
57
|
+
print(f" {genformat1}Example 2 {genformat2}of colorGen(){colorGen('')}")
|
|
58
|
+
print("This is used to enter many formats in the same line")
|
|
59
|
+
deco.print(border)
|
|
60
|
+
input("Press enter to continue...")
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
# printl()
|
|
64
|
+
deco.print(border)
|
|
65
|
+
print("Page 3:")
|
|
66
|
+
printl(("Example", "use", "of", "printl()"),("green", ("36", "italic"), "yellow", "magenta"), sepr=" ")
|
|
67
|
+
print("Printl is used to print many text in same line each with their own formats")
|
|
68
|
+
deco.print(border)
|
|
69
|
+
input("Press enter to continue...")
|
|
70
|
+
|
|
71
|
+
# printRGB()
|
|
72
|
+
deco.print(border)
|
|
73
|
+
print("Page 4:")
|
|
74
|
+
printRGB("Example use of printRGB()".center(32), "255", "0", "255", "bold"," ")
|
|
75
|
+
printRGB("Example 2 of printRGB()".center(32), "0", "255", "255", "","bg")
|
|
76
|
+
print("Notice how it can only display either")
|
|
77
|
+
print("foreground or background at one time")
|
|
78
|
+
print("You can also add formats to it".center(32))
|
|
79
|
+
deco.print(border)
|
|
80
|
+
input("Press enter to continue...")
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
# printRGBV()
|
|
84
|
+
deco.print(border)
|
|
85
|
+
print("Page 5:")
|
|
86
|
+
printRGBV("Example use of printRGBV()".center(32), "0", "255", "0", "0", "0", "255", "")
|
|
87
|
+
printRGBV("Example 2 of printRGBV()".center(32), "0", "0", "0", "255", "0", "255", "italic")
|
|
88
|
+
print("It can display both foreground and background")
|
|
89
|
+
print("and also add formats".center(32))
|
|
90
|
+
print("Note that sometimes the background")
|
|
91
|
+
print("color blocks the foreground color")
|
|
92
|
+
deco.print(border)
|
|
93
|
+
input("Press enter to continue...")
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
# Theme
|
|
97
|
+
deco.print(border)
|
|
98
|
+
print("Page 6:")
|
|
99
|
+
deadly = Theme("brightred", "double_underline", "bold")
|
|
100
|
+
deadly.print("Example use of Theme class")
|
|
101
|
+
print("It can be used for formats that you use many times")
|
|
102
|
+
|
|
103
|
+
deadly.add("strikethrough")
|
|
104
|
+
deadly.print("Example of add(*formats)")
|
|
105
|
+
|
|
106
|
+
deadly.remove("double_underline", "strikethrough")
|
|
107
|
+
deadly.print("Example of remove(*formats)")
|
|
108
|
+
|
|
109
|
+
deadly.overwrite("highlight_brightred", "underline")
|
|
110
|
+
deadly.print("Example of overwrite(*formats)")
|
|
111
|
+
|
|
112
|
+
deadly.showUsed()
|
|
113
|
+
print("showUsed() displays the current formats")
|
|
114
|
+
deco.print(border)
|
|
115
|
+
input("Press enter to continue...")
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
# ThemeRGBV
|
|
119
|
+
deco.print(border)
|
|
120
|
+
print("Page 7:")
|
|
121
|
+
classified = ThemeRGBV("255", "255", "255", "0", "0", "0", "")
|
|
122
|
+
classified.print("Example of printRGBV(r,g,b,r2,g2,b2,*formats)")
|
|
123
|
+
print("It can change both foreground and background")
|
|
124
|
+
print("and you can choose to use one or both")
|
|
125
|
+
|
|
126
|
+
classified.add("bold", "underline")
|
|
127
|
+
classified.print("Example of add(*formats)")
|
|
128
|
+
|
|
129
|
+
classified.remove("underline")
|
|
130
|
+
classified.print("Example of remove(*formats)")
|
|
131
|
+
print("Adding/removing only affects formats")
|
|
132
|
+
|
|
133
|
+
classified.overwrite("0", "0", "0", "255", "255", "255", "strikethrough")
|
|
134
|
+
classified.print("Example of overwrite(r,g,b,r2,g2,b2,*new)")
|
|
135
|
+
print("Overwrite rewrites the whole object")
|
|
136
|
+
|
|
137
|
+
classified.showUsed()
|
|
138
|
+
print("showUsed() displays the current settings")
|
|
139
|
+
deco.print(border)
|
|
140
|
+
input("Press enter to continue...")
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
deco.print(border)
|
|
144
|
+
deco2.print(border)
|
|
145
|
+
print("Thanks for reading!")
|
|
146
|
+
deco2.print(border)
|
|
147
|
+
|
|
148
|
+
deco3.print(border)
|
|
149
|
+
print("BONUS: Custom formats using either ANSI or RGB")
|
|
150
|
+
key = "placeholder"
|
|
151
|
+
while key.lower() != "_exit_":
|
|
152
|
+
key = input("Enter new key (_exit_ to leave): ")
|
|
153
|
+
if key.lower() != "_exit_":
|
|
154
|
+
custom_formats[key] = input(f"Enter a value for {key}: ")
|
|
155
|
+
while custom_formats[key].replace(";", "").isdigit() == False:
|
|
156
|
+
print("Invalid code!")
|
|
157
|
+
print("The code must have digits only (; is an exception)")
|
|
158
|
+
custom_formats[key] = input(f"Enter a value for {key}: ")
|
|
159
|
+
else:
|
|
160
|
+
break
|
|
161
|
+
with open("custom.json", "w") as file:
|
|
162
|
+
json.dump(custom_formats, file, indent=4)
|
|
163
|
+
deco3.print(border)
|
printColored/core.py
ADDED
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
"""
|
|
2
|
+
https://github.com/Mr1Skeletoner/printColored
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
try:
|
|
7
|
+
from colorama import just_fix_windows_console
|
|
8
|
+
just_fix_windows_console()
|
|
9
|
+
except ImportError:
|
|
10
|
+
print("Colorama module not found, printColored will not work on CMD!")
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
from pathlib import Path
|
|
14
|
+
from os.path import exists
|
|
15
|
+
import json
|
|
16
|
+
|
|
17
|
+
script_dir = Path(__file__).parent
|
|
18
|
+
path = script_dir / "custom.json"
|
|
19
|
+
with open(path, "r") as file:
|
|
20
|
+
custom_formats = json.load(file)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
from . import Fonter
|
|
24
|
+
from .formats import ansi_formats, html_colors
|
|
25
|
+
|
|
26
|
+
_default_source_order = ("ansi_format","rgb_format","custom_format")
|
|
27
|
+
|
|
28
|
+
def _font_check(text, *inputs):
|
|
29
|
+
changed = False
|
|
30
|
+
font = ""
|
|
31
|
+
decorator = ""
|
|
32
|
+
for request in inputs:
|
|
33
|
+
if request in Fonter.fonts:
|
|
34
|
+
font = request
|
|
35
|
+
changed = True
|
|
36
|
+
elif request in Fonter.decorators:
|
|
37
|
+
decorator = request
|
|
38
|
+
changed = True
|
|
39
|
+
return Fonter.Fonter(text, font, decorator) if changed == True else text
|
|
40
|
+
|
|
41
|
+
def _reset(reset):
|
|
42
|
+
if reset:
|
|
43
|
+
return "\033[0m"
|
|
44
|
+
else:
|
|
45
|
+
return ""
|
|
46
|
+
|
|
47
|
+
def _single_code(fformat, *, html_view="", source_order=()):
|
|
48
|
+
if fformat.replace(";", "").isdigit():
|
|
49
|
+
return fformat
|
|
50
|
+
for source in source_order:
|
|
51
|
+
if source == "ansi_format":
|
|
52
|
+
if fformat in ansi_formats:
|
|
53
|
+
return ansi_formats.get(fformat)
|
|
54
|
+
elif source == "rgb_format":
|
|
55
|
+
if fformat in html_colors:
|
|
56
|
+
return str("38;2;" if html_view != "bg" else "48;2;") + html_colors.get(fformat)
|
|
57
|
+
elif source == "custom_format":
|
|
58
|
+
if fformat in custom_formats:
|
|
59
|
+
return custom_formats.get(fformat)
|
|
60
|
+
else:
|
|
61
|
+
raise ValueError(f"{source}: Unknown Format Source!")
|
|
62
|
+
raise ValueError(f"{fformat}: Unknown Format!")
|
|
63
|
+
|
|
64
|
+
def _build_code(*formats_used, html_view="", source_order=()):
|
|
65
|
+
code_list = []
|
|
66
|
+
for name in formats_used:
|
|
67
|
+
name = _single_code(name, html_view=html_view, source_order=source_order)
|
|
68
|
+
if name != None:
|
|
69
|
+
code_list.append(name)
|
|
70
|
+
|
|
71
|
+
return ";".join(code_list)
|
|
72
|
+
|
|
73
|
+
def _rgb_validation(r,g,b):
|
|
74
|
+
if r == "" or g == "" or b == "":
|
|
75
|
+
raise ValueError("You cant enter an empty value!")
|
|
76
|
+
elif not r.isdigit() or not g.isdigit() or not b.isdigit():
|
|
77
|
+
raise ValueError("You cant enter a non-digit!")
|
|
78
|
+
elif int(r) > 255 or int(r) < 0 or int(g) > 255 or int(g) < 0 or int(b) > 255 or int(b) < 0:
|
|
79
|
+
raise ValueError("The RGB value must be greater than or equal 0, and lesser than or equal 255!")
|
|
80
|
+
return ";".join([r,g,b])
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
class Theme:
|
|
84
|
+
def __init__(self, *formats_used):
|
|
85
|
+
self.formats_used = formats_used
|
|
86
|
+
|
|
87
|
+
def print(self, text, *, reset=True, html_view="", source_order=_default_source_order):
|
|
88
|
+
text = _font_check(text, *self.formats_used)
|
|
89
|
+
self.format_code = _build_code(*self.formats_used, html_view=html_view, source_order=source_order)
|
|
90
|
+
reset = _reset(reset)
|
|
91
|
+
print(f"\033[{self.format_code}m{text}{reset}")
|
|
92
|
+
|
|
93
|
+
def overwrite(self, *new):
|
|
94
|
+
self.formats_used = new
|
|
95
|
+
|
|
96
|
+
def add(self, *new):
|
|
97
|
+
self.formats_used = self.formats_used + new
|
|
98
|
+
|
|
99
|
+
def remove(self, *removed):
|
|
100
|
+
self.formats_used = tuple(fformat for fformat in self.formats_used if fformat not in removed)
|
|
101
|
+
|
|
102
|
+
def showUsed(self):
|
|
103
|
+
print(self.formats_used)
|
|
104
|
+
|
|
105
|
+
def __str__(self):
|
|
106
|
+
return str(self.formats_used)
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
class ThemeRGBV(Theme):
|
|
110
|
+
def __init__(self, r="", g="", b="", r2="", g2="", b2="", *formats_used):
|
|
111
|
+
super().__init__(*formats_used)
|
|
112
|
+
|
|
113
|
+
self.fg = _rgb_validation(r,g,b)
|
|
114
|
+
self.bg = _rgb_validation(r2,g2,b2)
|
|
115
|
+
|
|
116
|
+
def print(self, text, *, reset=True, html_view="", source_order=_default_source_order):
|
|
117
|
+
text = _font_check(text, *self.formats_used)
|
|
118
|
+
self.format_code = _build_code(*self.formats_used, html_view=html_view, source_order=source_order)
|
|
119
|
+
reset = _reset(reset)
|
|
120
|
+
|
|
121
|
+
if self.format_code:
|
|
122
|
+
self.format_code += ";"
|
|
123
|
+
|
|
124
|
+
if self.fg == "":
|
|
125
|
+
if self.bg == "":
|
|
126
|
+
super().print(text, reset=reset, html_view=html_view, source_order=source_order)
|
|
127
|
+
else:
|
|
128
|
+
self.rgbcode = "48;2;" + self.bg
|
|
129
|
+
self.finalcode = self.format_code + self.rgbcode
|
|
130
|
+
print(f"\033[{self.finalcode}m{text}{reset}")
|
|
131
|
+
else:
|
|
132
|
+
if self.bg == "":
|
|
133
|
+
self.rgbcode = "38;2;" + self.fg
|
|
134
|
+
self.finalcode = self.format_code + self.rgbcode
|
|
135
|
+
print(f"\033[{self.finalcode}m{text}{reset}")
|
|
136
|
+
else:
|
|
137
|
+
self.rgbcode = "38;2;" + self.fg + ";48;2;" + self.bg
|
|
138
|
+
self.finalcode = self.format_code + self.rgbcode
|
|
139
|
+
print(f"\033[{self.finalcode}m{text}{reset}")
|
|
140
|
+
|
|
141
|
+
def overwrite(self, r,g,b, r2,g2,b2, *new):
|
|
142
|
+
super().overwrite(*new)
|
|
143
|
+
|
|
144
|
+
self.fg = _rgb_validation(r,g,b)
|
|
145
|
+
self.bg = _rgb_validation(r2,g2,b2)
|
|
146
|
+
|
|
147
|
+
def showUsed(self):
|
|
148
|
+
print(f"Foreground: {self.fg}")
|
|
149
|
+
print(f"Background: {self.bg}")
|
|
150
|
+
print(f"Formats: {self.formats_used}")
|
|
151
|
+
|
|
152
|
+
def __str__(self):
|
|
153
|
+
return self.fg +";"+ self.bg +" "+ self.formats_used
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
def printColored(text, *formats_used, reset= True, html_view="", source_order=_default_source_order):
|
|
157
|
+
text = _font_check(text, *formats_used)
|
|
158
|
+
code = _build_code(*formats_used, html_view=html_view, source_order=source_order)
|
|
159
|
+
reset = _reset(reset)
|
|
160
|
+
|
|
161
|
+
print(f"\033[{code}m{text}{reset}")
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
def colorGen(*formats_used, mode="", html_view="", source_order=_default_source_order):
|
|
165
|
+
code = _build_code(*formats_used, html_view=html_view, source_order=source_order)
|
|
166
|
+
if mode == "b":
|
|
167
|
+
return code
|
|
168
|
+
else:
|
|
169
|
+
return f"\033[{code}m"
|
|
170
|
+
|
|
171
|
+
# colorGen is the replacement of the legacy function
|
|
172
|
+
# its WAYYY simpler, but takes alot of space to write
|
|
173
|
+
# btw the legacy function was broken sooo
|
|
174
|
+
# now colorGen is also fixed
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
def printl(text=(), formats_used=(), *, sepr=""):
|
|
178
|
+
|
|
179
|
+
for i, (line, fformat) in enumerate(zip(text, formats_used)):
|
|
180
|
+
code = []
|
|
181
|
+
line = _font_check(line, fformat)
|
|
182
|
+
if type(fformat) == str:
|
|
183
|
+
fformat = _single_code(fformat)
|
|
184
|
+
if fformat != None:
|
|
185
|
+
code.append(fformat)
|
|
186
|
+
|
|
187
|
+
elif type(fformat) == tuple:
|
|
188
|
+
for name in fformat:
|
|
189
|
+
name = _single_code(name)
|
|
190
|
+
if name != None:
|
|
191
|
+
code.append(name)
|
|
192
|
+
|
|
193
|
+
code = ";".join(code)
|
|
194
|
+
print(f"\033[{code}m{line}\033[0m" + sepr, end="\n" if i == len(text) - 1 else "")
|
|
195
|
+
|
|
196
|
+
# printl is the replacement of colorGen
|
|
197
|
+
# its WAY WAYYYY simpler, and takes less space to write
|
|
198
|
+
# Dunno if i should keep colorGen, but ill just leave it there because
|
|
199
|
+
# it returns the color code itself
|
|
200
|
+
|
|
201
|
+
def printRGB(text, r,g,b, *formats_used, view="", html_view="",reset=True, source_order=_default_source_order):
|
|
202
|
+
text = _font_check(text, *formats_used)
|
|
203
|
+
code = _build_code(*formats_used, html_view=html_view, source_order=source_order)
|
|
204
|
+
reset = _reset(reset)
|
|
205
|
+
# if you dont want a format when using the rgb function,
|
|
206
|
+
# you can just not enter it
|
|
207
|
+
rgbvalue = _rgb_validation(r,g,b)
|
|
208
|
+
if rgbvalue != "":
|
|
209
|
+
viewvalue = "48;" if view.lower() == "bg" else "38;"
|
|
210
|
+
else:
|
|
211
|
+
viewvalue = ""
|
|
212
|
+
|
|
213
|
+
if code != "":
|
|
214
|
+
code = ";" + code
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
print(f"\033[{viewvalue}2;{rgbvalue}{code}m{text}{reset}")
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
def printRGBV(text, r,g,b, r2, g2, b2, *formats_used, reset=True, html_view="", source_order=_default_source_order):
|
|
221
|
+
text = _font_check(text, *formats_used)
|
|
222
|
+
code = _build_code(*formats_used, html_view=html_view, source_order=source_order)
|
|
223
|
+
reset = _reset(reset)
|
|
224
|
+
|
|
225
|
+
fg = _rgb_validation(r,g,b)
|
|
226
|
+
bg = _rgb_validation(r2,g2,b2)
|
|
227
|
+
if code != "":
|
|
228
|
+
code += ";"
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
if fg == "":
|
|
232
|
+
if bg == "":
|
|
233
|
+
print(f"\033[{code}m{text}{reset}")
|
|
234
|
+
else:
|
|
235
|
+
print(f"\033[{code}48;2;{bg}m{text}{reset}")
|
|
236
|
+
else:
|
|
237
|
+
if bg == "":
|
|
238
|
+
print(f"\033[{code}38;2;{fg}m{text}{reset}")
|
|
239
|
+
else:
|
|
240
|
+
print(f"\033[{code}38;2;{fg};48;2;{bg}m{text}{reset}")
|
|
241
|
+
|
|
242
|
+
|
|
243
|
+
def formatfinder(min, max): # made this to find new formats, theres nothing beyond 107
|
|
244
|
+
# btw use strings ("1","108") and not integers (1,108)
|
|
245
|
+
if min.isdigit() and max.isdigit():
|
|
246
|
+
min = int(min)
|
|
247
|
+
max = int(max)
|
|
248
|
+
for code in range(min, max+1):
|
|
249
|
+
print(f"At iteration {code}: \033[{code}mHello World!\033[0m")
|
|
250
|
+
elif min == "font" or max == "font":
|
|
251
|
+
for key, value in Fonter.fonts.items():
|
|
252
|
+
print(f"{key}: {value}")
|
|
253
|
+
for key, value in Fonter.decorators.items():
|
|
254
|
+
print(f"{key}: {value}")
|
|
255
|
+
else:
|
|
256
|
+
for key, value in ansi_formats.items():
|
|
257
|
+
print(f"\033[{value}m{key}\033[0m")
|
|
258
|
+
|
printColored/formats.py
ADDED
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
ansi_formats = { # i think the dictonary now contains every possible format
|
|
2
|
+
# Colors
|
|
3
|
+
"gray" : "30",
|
|
4
|
+
"red" : "31",
|
|
5
|
+
"green" : "32",
|
|
6
|
+
"yellow" : "33",
|
|
7
|
+
"blue" : "34",
|
|
8
|
+
"magenta": "35",
|
|
9
|
+
"cyan" : "36",
|
|
10
|
+
|
|
11
|
+
# slightly bright
|
|
12
|
+
# useless but i will leave it there
|
|
13
|
+
"bright_gray" : "90", # im sure this is just normal gray but
|
|
14
|
+
# i will leave it there
|
|
15
|
+
"bright_red" : "91",
|
|
16
|
+
"bright_green" : "92",
|
|
17
|
+
"bright_yellow" : "93",
|
|
18
|
+
"bright_blue" : "94",
|
|
19
|
+
"bright_magenta" : "95",
|
|
20
|
+
"bright_cyan" : "96",
|
|
21
|
+
"bright_white" : "97", # trust me, this is different than bold
|
|
22
|
+
|
|
23
|
+
# Highlight
|
|
24
|
+
"highlight_red" : "41",
|
|
25
|
+
"highlight_green" : "42",
|
|
26
|
+
"highlight_yellow" : "43",
|
|
27
|
+
"highlight_blue" : "44",
|
|
28
|
+
"highlight_magenta": "45",
|
|
29
|
+
"highlight_cyan" : "46",
|
|
30
|
+
"highlight_gray" : "100",
|
|
31
|
+
"highlight_black" : "40",
|
|
32
|
+
"highlight_white" : "47",
|
|
33
|
+
|
|
34
|
+
# bright highlight
|
|
35
|
+
# what am i even doing in life anymore
|
|
36
|
+
"highlight_bright_red" : "101",
|
|
37
|
+
"highlight_bright_green" : "102",
|
|
38
|
+
"highlight_bright_yellow" : "103",
|
|
39
|
+
"highlight_bright_blue" : "104",
|
|
40
|
+
"highlight_bright_magenta" : "105",
|
|
41
|
+
"highlight_bright_cyan" : "106",
|
|
42
|
+
"highlight_bright_white" : "107",
|
|
43
|
+
|
|
44
|
+
# Formats (like bold or italic)
|
|
45
|
+
"bold" : "1",
|
|
46
|
+
"foggygray" : "2",
|
|
47
|
+
"italic" : "3",
|
|
48
|
+
"underline" : "4",
|
|
49
|
+
"inverted" : "7", # inverted and highlight white are probably the same lol
|
|
50
|
+
"invisible" : "8",
|
|
51
|
+
"strikethrough" : "9",
|
|
52
|
+
"double_underline": "21",
|
|
53
|
+
|
|
54
|
+
"reset": "0", # placeholder or smth idk i dont even use it bc u can just type 0 but i will just keep it there
|
|
55
|
+
"" : "0"
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
html_colors = { # note that just like normal rgb, using two at same time,
|
|
59
|
+
# the last overwrites all before it.
|
|
60
|
+
# also note that the format keys are written in a different way
|
|
61
|
+
# than i write bc it was copypasted from html website
|
|
62
|
+
"IndianRed": "205;92;92",
|
|
63
|
+
"LightCoral": "240;128;128",
|
|
64
|
+
"Salmon": "250;128;114",
|
|
65
|
+
"DarkSalmon": "233;150;122",
|
|
66
|
+
"LightSalmon": "255;160;122",
|
|
67
|
+
"Crimson": "220;20;60",
|
|
68
|
+
"Red": "255;0;0",
|
|
69
|
+
"FireBrick": "178;34;34",
|
|
70
|
+
"DarkRed": "139;0;0",
|
|
71
|
+
"Pink": "255;192;203",
|
|
72
|
+
"LightPink": "255;182;193",
|
|
73
|
+
"HotPink": "255;105;180",
|
|
74
|
+
# ^ i am NOT the one in charge of writing these
|
|
75
|
+
# แตแตแต โฑ แตแถแตแตแตหกหกสธ แตสฐโฑโฟแต แตสฐแตแต แตสฐโฑหข แตโฑโฟแต โฑหข แตแตโฑแต สฐโป
|
|
76
|
+
"DeepPink": "255;20;147",
|
|
77
|
+
"MediumVioletRed": "199;21;133",
|
|
78
|
+
"PaleVioletRed": "219;112;147",
|
|
79
|
+
"Coral": "255;127;80",
|
|
80
|
+
"Tomato": "255;99;71",
|
|
81
|
+
"OrangeRed": "255;69;0",
|
|
82
|
+
"DarkOrange": "255;140;0",
|
|
83
|
+
"Orange": "255;165;0",
|
|
84
|
+
"Gold": "255;215;0",
|
|
85
|
+
"Yellow": "255;255;0",
|
|
86
|
+
"LightYellow": "255;255;224",
|
|
87
|
+
"LemonChiffon": "255;250;205",
|
|
88
|
+
"LightGoldenrodYellow": "250;250;210",
|
|
89
|
+
"PapayaWhip": "255;239;213",
|
|
90
|
+
"Moccasin": "255;228;181",
|
|
91
|
+
"PeachPuff": "255;218;185",
|
|
92
|
+
"PaleGoldenrod": "238;232;170",
|
|
93
|
+
"Khaki": "240;230;140",
|
|
94
|
+
"DarkKhaki": "189;183;107",
|
|
95
|
+
"Lavender": "230;230;250",
|
|
96
|
+
"Thistle": "216;191;216",
|
|
97
|
+
"Plum": "221;160;221",
|
|
98
|
+
"Violet": "238;130;238",
|
|
99
|
+
"Orchid": "218;112;214",
|
|
100
|
+
"Fuchsia": "255;0;255",
|
|
101
|
+
"Magenta": "255;0;255",
|
|
102
|
+
"MediumOrchid": "186;85;211",
|
|
103
|
+
"MediumPurple": "147;112;219",
|
|
104
|
+
"RebeccaPurple": "102;51;153",
|
|
105
|
+
"BlueViolet": "138;43;226",
|
|
106
|
+
"DarkViolet": "148;0;211",
|
|
107
|
+
"DarkOrchid": "153;50;204",
|
|
108
|
+
"DarkMagenta": "139;0;139",
|
|
109
|
+
"Purple": "128;0;128",
|
|
110
|
+
"Indigo": "75;0;130",
|
|
111
|
+
"SlateBlue": "106;90;205",
|
|
112
|
+
"DarkSlateBlue": "72;61;139",
|
|
113
|
+
"MediumSlateBlue": "123;104;238",
|
|
114
|
+
"GreenYellow": "173;255;47",
|
|
115
|
+
"Chartreuse": "127;255;0",
|
|
116
|
+
"LawnGreen": "124;252;0",
|
|
117
|
+
"Lime": "0;255;0",
|
|
118
|
+
"LimeGreen": "50;205;50",
|
|
119
|
+
"PaleGreen": "152;251;152",
|
|
120
|
+
"LightGreen": "144;238;144",
|
|
121
|
+
"MediumSpringGreen": "0;250;154",
|
|
122
|
+
"SpringGreen": "0;255;127",
|
|
123
|
+
"MediumSeaGreen": "60;179;113",
|
|
124
|
+
"SeaGreen": "46;139;87",
|
|
125
|
+
"ForestGreen": "34;139;34",
|
|
126
|
+
"Green": "0;128;0",
|
|
127
|
+
"DarkGreen": "0;100;0",
|
|
128
|
+
"YellowGreen": "154;205;50",
|
|
129
|
+
"OliveDrab": "107;142;35",
|
|
130
|
+
"Olive": "128;128;0",
|
|
131
|
+
"DarkOliveGreen": "85;107;47",
|
|
132
|
+
"MediumAquamarine": "102;205;170",
|
|
133
|
+
"DarkSeaGreen": "143;188;139",
|
|
134
|
+
"LightSeaGreen": "32;178;170",
|
|
135
|
+
"DarkCyan": "0;139;139",
|
|
136
|
+
"Teal": "0;128;128",
|
|
137
|
+
"Aqua": "0;255;255",
|
|
138
|
+
"Cyan": "0;255;255",
|
|
139
|
+
"LightCyan": "224;255;255",
|
|
140
|
+
"PaleTurquoise": "175;238;238",
|
|
141
|
+
"Aquamarine": "127;255;212",
|
|
142
|
+
"Turquoise": "64;224;208",
|
|
143
|
+
"MediumTurquoise": "72;209;204",
|
|
144
|
+
"DarkTurquoise": "0;206;209",
|
|
145
|
+
"CadetBlue": "95;158;160",
|
|
146
|
+
"SteelBlue": "70;130;180",
|
|
147
|
+
"LightSteelBlue": "176;196;222",
|
|
148
|
+
"PowderBlue": "176;224;230",
|
|
149
|
+
"LightBlue": "173;216;230",
|
|
150
|
+
"SkyBlue": "135;206;235",
|
|
151
|
+
"LightSkyBlue": "135;206;250",
|
|
152
|
+
"DeepSkyBlue": "0;191;255",
|
|
153
|
+
"DodgerBlue": "30;144;255",
|
|
154
|
+
"CornflowerBlue": "100;149;237",
|
|
155
|
+
"RoyalBlue": "65;105;225",
|
|
156
|
+
"Blue": "0;0;255",
|
|
157
|
+
"MediumBlue": "0;0;205",
|
|
158
|
+
"DarkBlue": "0;0;139",
|
|
159
|
+
"Navy": "0;0;128",
|
|
160
|
+
"MidnightBlue": "25;25;112",
|
|
161
|
+
"Cornsilk": "255;248;220",
|
|
162
|
+
"BlanchedAlmond": "255;235;205",
|
|
163
|
+
"Bisque": "255;228;196",
|
|
164
|
+
"NavajoWhite": "255;222;173",
|
|
165
|
+
"Wheat": "245;222;179",
|
|
166
|
+
"BurlyWood": "222;184;135",
|
|
167
|
+
"Tan": "210;180;140",
|
|
168
|
+
"RosyBrown": "188;143;143",
|
|
169
|
+
"SandyBrown": "244;164;96",
|
|
170
|
+
"Goldenrod": "218;165;32",
|
|
171
|
+
"DarkGoldenrod": "184;134;11",
|
|
172
|
+
"Peru": "205;133;63",
|
|
173
|
+
"Chocolate": "210;105;30",
|
|
174
|
+
"SaddleBrown": "139;69;19",
|
|
175
|
+
"Sienna": "160;82;45",
|
|
176
|
+
"Brown": "165;42;42",
|
|
177
|
+
"Maroon": "128;0;0",
|
|
178
|
+
"White": "255;255;255",
|
|
179
|
+
"Snow": "255;250;250",
|
|
180
|
+
"HoneyDew": "240;255;240",
|
|
181
|
+
"MintCream": "245;255;250",
|
|
182
|
+
"Azure": "240;255;255",
|
|
183
|
+
"AliceBlue": "240;248;255",
|
|
184
|
+
"GhostWhite": "248;248;255",
|
|
185
|
+
"WhiteSmoke": "245;245;245",
|
|
186
|
+
"SeaShell": "255;245;238",
|
|
187
|
+
"Beige": "245;245;220",
|
|
188
|
+
"OldLace": "253;245;230",
|
|
189
|
+
"FloralWhite": "255;250;240",
|
|
190
|
+
"Ivory": "255;255;240",
|
|
191
|
+
"AntiqueWhite": "250;235;215",
|
|
192
|
+
"Linen": "250;240;230",
|
|
193
|
+
"LavenderBlush": "255;240;245",
|
|
194
|
+
"MistyRose": "255;228;225",
|
|
195
|
+
"Gainsboro": "220;220;220",
|
|
196
|
+
"LightGray": "211;211;211",
|
|
197
|
+
"Silver": "192;192;192",
|
|
198
|
+
"DarkGray": "169;169;169",
|
|
199
|
+
"Gray": "128;128;128",
|
|
200
|
+
"DimGray": "105;105;105",
|
|
201
|
+
"LightSlateGray": "119;136;153",
|
|
202
|
+
"SlateGray": "112;128;144",
|
|
203
|
+
"DarkSlateGray": "47;79;79",
|
|
204
|
+
"Black": "0;0;0",
|
|
205
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
printColored/Fonter.py,sha256=HNXrBoBZQwPtmrNs8JLSZRi9N4C2Z1gZ0jti0MIMnEI,10248
|
|
2
|
+
printColored/__init__.py,sha256=QIRu0c6ZPvoWsH0gatnEwtICuh0BbT8RQIkOZoX9F6o,216
|
|
3
|
+
printColored/__main__.py,sha256=-gO6Nee9UXXeVgCoi99LU90FTogu7T9izmumojSR1PI,5869
|
|
4
|
+
printColored/core.py,sha256=WG6RpRIawW9s_arahAhOmuBUWU4sy7oO0wfXt3X9zpc,9081
|
|
5
|
+
printColored/formats.py,sha256=WRHqW5sH4J-XlJa-LV-dcCTIctr1JPvFZCNJRKFyiwE,6746
|
|
6
|
+
printcolored-2.0.dist-info/METADATA,sha256=x8XN_jFzJ4sa2SP2tbUM4xYZHv-6qpKnVyk5Mb_NyrQ,57
|
|
7
|
+
printcolored-2.0.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
|
|
8
|
+
printcolored-2.0.dist-info/top_level.txt,sha256=vyF7iPi9OQicDb1rXaJ3wMBLP90NkRxj-awWkl1Ckb8,13
|
|
9
|
+
printcolored-2.0.dist-info/RECORD,,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
printColored
|