Init style output with python?
Maxim Veksler
hq4ever at gmail.com
Sun May 6 10:00:18 EDT 2007
On 5/6/07, Tina I <tinaweb at bestemselv.com> wrote:
> Maxim Veksler wrote:
>
> > 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
>
> You can look into the 'curses' module and do something like:
>
> screen = curses.initscreen()
> maxheight, maxwith = screen.getmaxyx()
>
> In my experience curses can be a bit tricky to work with but the online
> tutorials have some nice examples that help you avoid some of the
> pitfalls (like messing up your terminal)
>
> Tina
> --
> http://mail.python.org/mailman/listinfo/python-list
>
Fine! Thank you.
curses is very helpful, I'm attaching the code.
I see it has support for colors as well, but I haven't found any
tutorial that would explain how to use them.
Please note that this is just a draft, I'm not catching any
KeyboardInterrupt nor nothing.
"""#!/usr/bin/env python
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
class StatusWriter(ColorTerm):
import curses
def __init__(self, report_type = None):
pass
def initstyle_message(self, msg, status = True):
screen = self.curses.initscr(); self.curses.endwin()
if status:
status_msg = '[' + self.green('OK') + ']'
else:
status_msg = '[' + self.red('FAIL') + ']'
spaces_count = ( screen.getmaxyx()[1] - (len(msg)+len(status_msg)) )
return msg + ' '*spaces_count + status_msg
cc = StatusWriter()
while 1:
print cc.initstyle_message('The end is at hand')
print cc.initstyle_message('Lets party', False)
print cc.initstyle_message('Why like this?', True)
"""
--
Cheers,
Maxim Veksler
"Free as in Freedom" - Do u GNU ?
More information about the Python-list
mailing list