M
Maxim Veksler
Hi list,
I'm working on writing sanity check script, and for aesthetic reasons
I would like the output be in the formatted like the gentoo init
script output, that is:
"""
Check for something .................................. [OK]
Check for something else ..........................[FAIL]
"""
Is there are frame work or something in python that would allow me to
do this (quickly) ?
If not, ideas how I should I be getting this boring task of:
1. get screen width
2. get output string length
3. get out status length
4. calculate space
5. print string, print space, print status, print newline
what happens if user changes textual terminal "resolution" ?
p.s.
I would also like to "OK" and "FAIL" output to be colored. I haven't
found anything for python to would allow to to output to ansi (linux,
rxvt, xterm). Here's a quick class I've written (in the hope it proves
to be useful to the next guy).
"""
#!/usr/bin/env python
""" This stuff is under GPL, as always"""
class ColorTerm:
def __init__(self, Mono = False):
pass
def __get_tput_color_value__(colorcode):
from commands import getoutput
return getoutput('tput setaf ' + colorcode)
BLACK_FG = __get_tput_color_value__('0')
RED_FG = __get_tput_color_value__('1')
GREEN_FG = __get_tput_color_value__('2')
YELLOW_FG = __get_tput_color_value__('3')
BLUE_FG = __get_tput_color_value__('4')
MAGENTA_FG = __get_tput_color_value__('5')
CYAN_FG = __get_tput_color_value__('6')
WHITE_FG = __get_tput_color_value__('7')
def black(self, msg):
return self.BLACK_FG + msg + self.BLACK_FG
def red(self, msg):
return self.RED_FG + msg + self.BLACK_FG
def green(self, msg):
return self.GREEN_FG + msg + self.BLACK_FG
def yellow(self, msg):
return self.YELLOW_FG + msg + self.BLACK_FG
def blue(self, msg):
return self.BLUE_FG + msg + self.BLACK_FG
def magenta(self, msg):
return self.MAGENTA_FG + msg + self.BLACK_FG
def cyan(self, msg):
return self.CYAN_FG + msg + self.BLACK_FG
def white(self, msg):
return self.WHITE_FG + msg + self.BLACK_FG
cc = ColorTerm()
print cc.red('Cool!') + cc.yellow('?'), cc.green('Sure is!!!')
print "Now setting your terminal text color to blue" + cc.BLUE_FG
print "well don't be blue about this, here let me set it back for you"
print cc.BLACK_FG + "see, nothing to worry about"
"""
I'm working on writing sanity check script, and for aesthetic reasons
I would like the output be in the formatted like the gentoo init
script output, that is:
"""
Check for something .................................. [OK]
Check for something else ..........................[FAIL]
"""
Is there are frame work or something in python that would allow me to
do this (quickly) ?
If not, ideas how I should I be getting this boring task of:
1. get screen width
2. get output string length
3. get out status length
4. calculate space
5. print string, print space, print status, print newline
what happens if user changes textual terminal "resolution" ?
p.s.
I would also like to "OK" and "FAIL" output to be colored. I haven't
found anything for python to would allow to to output to ansi (linux,
rxvt, xterm). Here's a quick class I've written (in the hope it proves
to be useful to the next guy).
"""
#!/usr/bin/env python
""" This stuff is under GPL, as always"""
class ColorTerm:
def __init__(self, Mono = False):
pass
def __get_tput_color_value__(colorcode):
from commands import getoutput
return getoutput('tput setaf ' + colorcode)
BLACK_FG = __get_tput_color_value__('0')
RED_FG = __get_tput_color_value__('1')
GREEN_FG = __get_tput_color_value__('2')
YELLOW_FG = __get_tput_color_value__('3')
BLUE_FG = __get_tput_color_value__('4')
MAGENTA_FG = __get_tput_color_value__('5')
CYAN_FG = __get_tput_color_value__('6')
WHITE_FG = __get_tput_color_value__('7')
def black(self, msg):
return self.BLACK_FG + msg + self.BLACK_FG
def red(self, msg):
return self.RED_FG + msg + self.BLACK_FG
def green(self, msg):
return self.GREEN_FG + msg + self.BLACK_FG
def yellow(self, msg):
return self.YELLOW_FG + msg + self.BLACK_FG
def blue(self, msg):
return self.BLUE_FG + msg + self.BLACK_FG
def magenta(self, msg):
return self.MAGENTA_FG + msg + self.BLACK_FG
def cyan(self, msg):
return self.CYAN_FG + msg + self.BLACK_FG
def white(self, msg):
return self.WHITE_FG + msg + self.BLACK_FG
cc = ColorTerm()
print cc.red('Cool!') + cc.yellow('?'), cc.green('Sure is!!!')
print "Now setting your terminal text color to blue" + cc.BLUE_FG
print "well don't be blue about this, here let me set it back for you"
print cc.BLACK_FG + "see, nothing to worry about"
"""