mirror of
https://github.com/soimort/you-get.git
synced 2025-02-12 04:55:21 +03:00
rebuild and enhance the structure of package color
This commit is contained in:
parent
d6fc4af203
commit
c183d1143f
@ -3,6 +3,9 @@
|
|||||||
"""
|
"""
|
||||||
################################################################################
|
################################################################################
|
||||||
Establish a Unified Color print across all kinds of os
|
Establish a Unified Color print across all kinds of os
|
||||||
|
|
||||||
|
However, you should care about that
|
||||||
|
we only implemented 8^1=8 kind of basic color in color_sh
|
||||||
################################################################################
|
################################################################################
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@ -13,83 +16,62 @@ if islinux():
|
|||||||
elif iswin():
|
elif iswin():
|
||||||
from . import color_cmd as cmd
|
from . import color_cmd as cmd
|
||||||
|
|
||||||
|
def _remove_key(dic,keys):
|
||||||
|
return {_key:dic[_key] for _key in dic if _key not in set(keys)}
|
||||||
|
|
||||||
|
def print_color(*objs,**kwargs):
|
||||||
|
|
||||||
|
_end=kwargs.get('end' ,'\n')
|
||||||
|
_sep=kwargs.get('sep' ,' ')
|
||||||
|
_color=kwargs.get('color','blank')
|
||||||
|
kwargs=_remove_key(kwargs,['end','sep','color'])
|
||||||
|
|
||||||
def printWhite(obj):
|
|
||||||
if iswin():
|
if iswin():
|
||||||
with cmd.printWhite():
|
with cmd.print_color(color=_color):
|
||||||
print(obj)
|
[print(obj, end=_sep, sep='',**kwargs) for obj in objs]
|
||||||
|
print(end=_end)
|
||||||
|
|
||||||
elif islinux():
|
elif islinux():
|
||||||
print(sh.UseStyle(obj,'white'))
|
[print(sh.UseStyle(obj,fore=_color), end=_sep, sep='',**kwargs)
|
||||||
|
for obj in objs]
|
||||||
|
|
||||||
|
print(end=_end)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
print(obj)
|
[print(obj, end=_sep, sep='',**kwargs) for obj in objs]
|
||||||
def printDarkPink(obj):
|
print(end=_end)
|
||||||
if iswin():
|
|
||||||
with cmd.printDarkPink():
|
|
||||||
print(obj)
|
|
||||||
elif islinux():
|
|
||||||
print(sh.UseStyle(obj,'purple'))
|
|
||||||
|
|
||||||
else:
|
def printWhite(*objs,**kwargs):
|
||||||
print(obj)
|
print_color(*objs,color='white',**kwargs)
|
||||||
|
|
||||||
def printBlue(obj):
|
|
||||||
|
def printDarkPink(*objs,**kwargs):
|
||||||
|
print_color(*objs,color='darkpink',**kwargs)
|
||||||
|
|
||||||
|
def printBlue(*objs,**kwargs):
|
||||||
"""
|
"""
|
||||||
Belive it ,It's an ugly print-color.
|
Belive it ,It's an ugly print-color.
|
||||||
Blue makes you blue :(
|
Blue makes you blue :(
|
||||||
:param obj:
|
:param obj:
|
||||||
:return:
|
:return:
|
||||||
"""
|
"""
|
||||||
if iswin():
|
print_color(*objs,color='blue',**kwargs)
|
||||||
with cmd.printBlue():
|
|
||||||
print(obj)
|
|
||||||
elif islinux():
|
|
||||||
print(sh.UseStyle(obj,'blue'))
|
|
||||||
|
|
||||||
else:
|
def printDarkRed(*objs,**kwargs):
|
||||||
print(obj)
|
print_color(*objs,color='darkred',**kwargs)
|
||||||
|
|
||||||
|
|
||||||
def printDarkRed(obj):
|
def printDarkSkyBlue(*objs,**kwargs):
|
||||||
if iswin():
|
print_color(*objs,color='darkblue',**kwargs)
|
||||||
with cmd.printDarkRed():
|
|
||||||
print(obj)
|
|
||||||
elif islinux():
|
|
||||||
print(sh.UseStyle(obj,'red'))
|
|
||||||
|
|
||||||
else:
|
def printDarkGreen(*objs,**kwargs):
|
||||||
print(obj)
|
print_color(*objs,color='darkgreen',**kwargs)
|
||||||
|
|
||||||
|
def printDarkYellow(*objs,**kwargs):
|
||||||
|
print_color(*objs,color='darkyellow',**kwargs)
|
||||||
|
|
||||||
def printDarkSkyBlue(obj):
|
def printBlank(*objs,**kwargs):
|
||||||
if iswin():
|
print_color(*objs,color='blank',**kwargs)
|
||||||
with cmd.printDarkSkyBlue():
|
|
||||||
print(obj)
|
|
||||||
elif islinux():
|
|
||||||
print(sh.UseStyle(obj,'cyan'))
|
|
||||||
|
|
||||||
else:
|
|
||||||
print(obj)
|
|
||||||
|
|
||||||
def printDarkGreen(obj):
|
|
||||||
if iswin():
|
|
||||||
with cmd.printDarkGreen():
|
|
||||||
print(obj)
|
|
||||||
elif islinux():
|
|
||||||
print(sh.UseStyle(obj,'green'))
|
|
||||||
|
|
||||||
else:
|
|
||||||
print(obj)
|
|
||||||
|
|
||||||
def printDarkYellow(obj):
|
|
||||||
if iswin():
|
|
||||||
with cmd.printDarkYellow():
|
|
||||||
print(obj)
|
|
||||||
elif islinux():
|
|
||||||
print(sh.UseStyle(obj,'yellow'))
|
|
||||||
|
|
||||||
else:
|
|
||||||
print(obj)
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Application layer encapsulation
|
# Application layer encapsulation
|
||||||
@ -131,8 +113,8 @@ if __name__ == '__main__':
|
|||||||
print('isLinux?%r'%islinux())
|
print('isLinux?%r'%islinux())
|
||||||
print('isWindows?%r'%iswin())
|
print('isWindows?%r'%iswin())
|
||||||
|
|
||||||
printDarkRed({'a':1,'b':2})
|
printDarkRed({'a':1,'b':2}, {'c':3}, end='')
|
||||||
printDarkGreen([1,2,3])
|
printDarkGreen([1,2,3], 4, sep='*', end='\n')
|
||||||
printDarkSkyBlue((1,2,3))
|
printDarkSkyBlue((1,2,3))
|
||||||
printDarkYellow({1,2,3})
|
printDarkYellow({1,2,3})
|
||||||
|
|
||||||
|
@ -39,8 +39,8 @@ FOREGROUND_WHITE = 0x0f # white.
|
|||||||
|
|
||||||
|
|
||||||
# Windows CMD命令行 背景颜色定义 background colors
|
# Windows CMD命令行 背景颜色定义 background colors
|
||||||
BACKGROUND_BLUE = 0x10 # dark blue.
|
BACKGROUND_DARKBLUE = 0x10 # dark blue.
|
||||||
BACKGROUND_GREEN = 0x20 # dark green.
|
BACKGROUND_DARKGREEN = 0x20 # dark green.
|
||||||
BACKGROUND_DARKSKYBLUE = 0x30 # dark skyblue.
|
BACKGROUND_DARKSKYBLUE = 0x30 # dark skyblue.
|
||||||
BACKGROUND_DARKRED = 0x40 # dark red.
|
BACKGROUND_DARKRED = 0x40 # dark red.
|
||||||
BACKGROUND_DARKPINK = 0x50 # dark pink.
|
BACKGROUND_DARKPINK = 0x50 # dark pink.
|
||||||
@ -205,57 +205,100 @@ class printYellowRed(printColor):
|
|||||||
def __enter__(self):
|
def __enter__(self):
|
||||||
set_cmd_text_color(BACKGROUND_YELLOW | FOREGROUND_RED)
|
set_cmd_text_color(BACKGROUND_YELLOW | FOREGROUND_RED)
|
||||||
|
|
||||||
|
#原样输出
|
||||||
|
#write origin text
|
||||||
|
class printBlank(printColor):
|
||||||
|
def __enter__(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# Application layer encapsulation
|
||||||
|
#
|
||||||
|
# with print_color('xxx'):
|
||||||
|
# print(xxx)
|
||||||
|
################################################################################
|
||||||
|
print_map={'darkblue' : printDarkBlue,
|
||||||
|
'darkgreen' : printDarkGreen,
|
||||||
|
'darkskyblue' : printDarkSkyBlue,
|
||||||
|
'darkred' : printDarkRed,
|
||||||
|
'darkpink' : printDarkPink,
|
||||||
|
'darkyellow' : printDarkYellow,
|
||||||
|
'darkwhite' : printDarkWhite,
|
||||||
|
'darkgray' : printDarkGray,
|
||||||
|
|
||||||
|
'blue' : printBlue,
|
||||||
|
'green' : printGreen,
|
||||||
|
'skyblue' : printSkyBlue,
|
||||||
|
'red' : printRed,
|
||||||
|
'pink' : printPink,
|
||||||
|
'yellow' : printYellow,
|
||||||
|
'white' : printWhite,
|
||||||
|
|
||||||
|
'blank' : printBlank}
|
||||||
|
|
||||||
|
|
||||||
##############################################################
|
|
||||||
|
def print_color(color='darkwhite'):
|
||||||
|
"""
|
||||||
|
|
||||||
|
Args:
|
||||||
|
color: default darkwhite/printDarkWhite
|
||||||
|
|
||||||
|
Returns: an printColor instance
|
||||||
|
|
||||||
|
"""
|
||||||
|
return print_map.get(color,printDarkWhite)()
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
||||||
with printDarkBlue():
|
with print_color('darkblue'):
|
||||||
print(u'printDarkBlue:暗蓝色文字\n')
|
print(u'printDarkBlue:暗蓝色文字\n')
|
||||||
|
|
||||||
with printDarkGreen():
|
with print_color('darkgreen'):
|
||||||
print(u'printDarkGreen:暗绿色文字\n')
|
print(u'printDarkGreen:暗绿色文字\n')
|
||||||
|
|
||||||
with printDarkSkyBlue():
|
with print_color('darkblue'):
|
||||||
print(u'printDarkSkyBlue:暗天蓝色文字\n')
|
print(u'printDarkSkyBlue:暗天蓝色文字\n')
|
||||||
|
|
||||||
with printDarkRed():
|
with print_color('darkred'):
|
||||||
print(u'printDarkRed:暗红色文字\n')
|
print(u'printDarkRed:暗红色文字\n')
|
||||||
|
|
||||||
with printDarkPink():
|
with print_color('darkpink'):
|
||||||
print(u'printDarkPink:暗粉红色文字\n')
|
print(u'printDarkPink:暗粉红色文字\n')
|
||||||
|
|
||||||
with printDarkYellow():
|
with print_color('darkyellow'):
|
||||||
print(u'printDarkYellow:暗黄色文字\n')
|
print(u'printDarkYellow:暗黄色文字\n')
|
||||||
|
|
||||||
with printDarkWhite():
|
with print_color('darkwhite'):
|
||||||
print(u'printDarkWhite:暗白色文字\n')
|
print(u'printDarkWhite:暗白色文字\n')
|
||||||
|
|
||||||
with printDarkGray():
|
with print_color('darkgray'):
|
||||||
print(u'printDarkGray:暗灰色文字\n')
|
print(u'printDarkGray:暗灰色文字\n')
|
||||||
|
|
||||||
with printBlue():
|
with print_color('blue'):
|
||||||
print(u'printBlue:蓝色文字\n')
|
print(u'printBlue:蓝色文字\n')
|
||||||
|
|
||||||
with printGreen():
|
with print_color('green'):
|
||||||
print(u'printGreen:绿色文字\n')
|
print(u'printGreen:绿色文字\n')
|
||||||
|
|
||||||
with printSkyBlue():
|
with print_color('skyblue'):
|
||||||
print(u'printSkyBlue:天蓝色文字\n')
|
print(u'printSkyBlue:天蓝色文字\n')
|
||||||
|
|
||||||
with printRed():
|
with print_color('red'):
|
||||||
print(u'printRed:红色文字\n')
|
print(u'printRed:红色文字\n')
|
||||||
|
|
||||||
with printPink():
|
with print_color('pink'):
|
||||||
print(u'printPink:粉红色文字\n')
|
print(u'printPink:粉红色文字\n')
|
||||||
|
|
||||||
with printYellow():
|
with print_color('yellow'):
|
||||||
print(u'printYellow:黄色文字\n')
|
print(u'printYellow:黄色文字\n')
|
||||||
|
|
||||||
with printWhite():
|
with print_color('white'):
|
||||||
print(u'printWhite:白色文字\n')
|
print(u'printWhite:白色文字\n')
|
||||||
|
|
||||||
|
with print_color('blank'):
|
||||||
|
print(u'printBlank:原生颜色')
|
||||||
with printWhiteBlack():
|
with printWhiteBlack():
|
||||||
print(u'printWhiteBlack:白底黑字输出\n')
|
print(u'printWhiteBlack:白底黑字输出\n')
|
||||||
|
|
||||||
@ -264,3 +307,4 @@ if __name__ == '__main__':
|
|||||||
|
|
||||||
with printYellowRed():
|
with printYellowRed():
|
||||||
print(u'printYellowRed:黄底红字输出\n')
|
print(u'printYellowRed:黄底红字输出\n')
|
||||||
|
|
||||||
|
@ -49,6 +49,7 @@ STYLE = {
|
|||||||
'purple' : 35, # 紫红色
|
'purple' : 35, # 紫红色
|
||||||
'cyan' : 36, # 青蓝色
|
'cyan' : 36, # 青蓝色
|
||||||
'white' : 37, # 白色
|
'white' : 37, # 白色
|
||||||
|
'blank' : 0, #原生色
|
||||||
},
|
},
|
||||||
|
|
||||||
'back' :
|
'back' :
|
||||||
@ -121,6 +122,7 @@ def TestColor( ):
|
|||||||
print(UseStyle('紫红色', fore = 'purple'), end=' ')
|
print(UseStyle('紫红色', fore = 'purple'), end=' ')
|
||||||
print(UseStyle('青蓝色', fore = 'cyan'), end=' ')
|
print(UseStyle('青蓝色', fore = 'cyan'), end=' ')
|
||||||
print(UseStyle('白色', fore = 'white'))
|
print(UseStyle('白色', fore = 'white'))
|
||||||
|
print(UseStyle('原生色', fore = 'blank'))
|
||||||
print('')
|
print('')
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user