Home | Trees | Indices | Help |
|
---|
|
A class that can be used to portably generate formatted output to a terminal.
`TerminalController` defines a set of instance variables whose values are initialized to the control sequence necessary to perform a given action. These can be simply included in normal output to the terminal:>>> term = TerminalController() >>> print 'This is '+term.GREEN+'green'+term.NORMALAlternatively, the `render()` method can used, which replaces '${action}' with the string required to perform 'action':
>>> term = TerminalController() >>> print term.render('This is ${GREEN}green${NORMAL}')If the terminal doesn't support a given action, then the value of the corresponding instance variable will be set to ''. As a result, the above code will still work on terminals that do not support color, except that their output will not be colored. Also, this means that you can test whether the terminal supports a given action by simply testing the truth value of the corresponding instance variable:
>>> term = TerminalController() >>> if term.CLEAR_SCREEN: ... print 'This terminal supports clearning the screen.'Finally, if the width and height of the terminal are known, then they will be stored in the `COLS` and `LINES` attributes.
|
|||
|
__init__(self,
term_stream=sys.stdout) Create a `TerminalController` and initialize its attributes with appropriate values for the current terminal. |
||
| _tigetstr(self, cap_name) | ||
|
render(self,
template) Replace each $-substitutions in the given template string with the corresponding terminal control string (if it's defined) or '' (if it's not). |
||
| _render_sub(self, match) |
|
|||
|
BOL = '' Move the cursor to the beginning of the line |
||
|
UP = '' Move the cursor up one line |
||
|
DOWN = '' Move the cursor down one line |
||
|
LEFT = '' Move the cursor left one char |
||
|
RIGHT = '' Move the cursor right one char |
||
|
CLEAR_SCREEN = '' Clear the screen and move to home position |
||
|
CLEAR_EOL = '' Clear to the end of the line. |
||
|
CLEAR_BOL = '' Clear to the beginning of the line. |
||
|
CLEAR_EOS = '' Clear to the end of the screen |
||
|
BOLD = '' Turn on bold mode |
||
|
BLINK = '' Turn on blink mode |
||
|
DIM = '' Turn on half-bright mode |
||
|
REVERSE = '' Turn on reverse-video mode |
||
|
NORMAL = '' Turn off all modes |
||
|
HIDE_CURSOR = '' Make the cursor invisible |
||
|
SHOW_CURSOR = '' Make the cursor visible |
||
|
COLS = None Width of the terminal (None for unknown) |
||
|
LINES = None Height of the terminal (None for unknown) |
||
|
WHITE = ''
|
||
|
YELLOW = ''
|
||
|
MAGENTA = ''
|
||
|
RED = ''
|
||
|
CYAN = ''
|
||
|
GREEN = ''
|
||
|
BLUE = ''
|
||
|
BLACK = ''
|
||
|
BG_CYAN = ''
|
||
|
BG_GREEN = ''
|
||
|
BG_BLUE = ''
|
||
|
BG_BLACK = ''
|
||
|
BG_WHITE = ''
|
||
|
BG_YELLOW = ''
|
||
|
BG_MAGENTA = ''
|
||
|
BG_RED = ''
|
||
|
_STRING_CAPABILITIES = ['BOL=cr', 'UP=cuu1', 'DOWN=cud1', 'LEFT=cub1', 'RIG...
|
||
|
_COLORS = ['BLACK', 'BLUE', 'GREEN', 'CYAN', 'RED', 'MAGENTA',...
|
||
|
_ANSICOLORS = ['BLACK', 'RED', 'GREEN', 'YELLOW', 'BLUE', 'MAGENTA...
|
|
|
|
|
|
|
BOLMove the cursor to the beginning of the line
|
UPMove the cursor up one line
|
DOWNMove the cursor down one line
|
LEFTMove the cursor left one char
|
RIGHTMove the cursor right one char
|
CLEAR_SCREENClear the screen and move to home position
|
CLEAR_EOLClear to the end of the line.
|
CLEAR_BOLClear to the beginning of the line.
|
CLEAR_EOSClear to the end of the screen
|
BOLDTurn on bold mode
|
BLINKTurn on blink mode
|
DIMTurn on half-bright mode
|
REVERSETurn on reverse-video mode
|
NORMALTurn off all modes
|
HIDE_CURSORMake the cursor invisible
|
SHOW_CURSORMake the cursor visible
|
COLSWidth of the terminal (None for unknown)
|
LINESHeight of the terminal (None for unknown)
|
WHITENone
|
YELLOWNone
|
MAGENTANone
|
REDNone
|
CYANNone
|
GREENNone
|
BLUENone
|
BLACKNone
|
BG_CYANNone
|
BG_GREENNone
|
BG_BLUENone
|
BG_BLACKNone
|
BG_WHITENone
|
BG_YELLOWNone
|
BG_MAGENTANone
|
BG_REDNone
|
_STRING_CAPABILITIESNone
|
_COLORSNone
|
_ANSICOLORSNone
|
Home | Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0alpha3 on Wed Nov 8 17:34:13 2006 | http://epydoc.sourceforge.net |