Initial commit, basic helper classes created

This commit is contained in:
derv82
2015-05-27 09:17:09 -07:00
commit 33dff208ed
10 changed files with 619 additions and 0 deletions

58
py/Color.py Normal file
View File

@@ -0,0 +1,58 @@
#!/usr/bin/python
import sys
class Color(object):
''' Helper object for easily printing colored text to the terminal. '''
# Basic console colors
colors = {
'W' : '\033[0m', # white (normal)
'R' : '\033[31m', # red
'G' : '\033[32m', # green
'O' : '\033[33m', # orange
'B' : '\033[34m', # blue
'P' : '\033[35m', # purple
'C' : '\033[36m', # cyan
'GR': '\033[37m' # gray
}
# Helper string replacements
replacements = {
'{+}': '{W}[{G}+{W}]',
'{!}': '{W}[{R}!{W}]'
}
@staticmethod
def p(text):
'''
Prints text using colored format on same line.
Example:
Color.p("{R}This text is red. {W} This text is white")
'''
sys.stdout.write(Color.s(text))
sys.stdout.flush()
@staticmethod
def pl(text):
'''
Prints text using colored format with trailing new line.
'''
Color.p('%s\n' % text)
@staticmethod
def s(text):
''' Returns colored string '''
output = text
for (key,value) in Color.replacements.iteritems():
output = output.replace(key, value)
for (key,value) in Color.colors.iteritems():
output = output.replace("{%s}" % key, value)
return output
if __name__ == '__main__':
Color.pl("{R}Testing{G}One{C}Two{P}Three{W}Done")
print Color.s("{C}Testing{P}String{W}")
Color.pl("{+} Good line")
Color.pl("{!} Danger")