python-igraph manual

For using igraph from Python

   Home       Trees       Indices       Help   
Package igraph :: Package app :: Module shell :: Class TerminalController
[hide private]

Class TerminalController

source code

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.NORMAL
This is green

Alternatively, 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}')
This is green

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.

Author: Edward Loper

Instance Methods [hide private]
__init__(self, term_stream=sys.stdout)
Create a `TerminalController` and initialize its attributes with appropriate values for the current terminal.
source code
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).
source code
_render_sub(self, match)
Helper function for render
source code
Static Methods [hide private]
Rewrites string capabilities to remove "delays" which are not required for modern terminals
source code
_tparm(cap_name, param) source code
Class Variables [hide private]
  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 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
Make the cursor invisible
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_RED = ''
  _STRING_CAPABILITIES = ['BOL=cr', 'UP=cuu1', 'DOWN=cud1', 'LEF...
Method Details [hide private]

__init__(self, term_stream=sys.stdout)

source code 

Create a `TerminalController` and initialize its attributes with appropriate values for the current terminal. `term_stream` is the stream that will be used for terminal output; if this stream is not a tty, then the terminal is assumed to be a dumb terminal (i.e., have no capabilities).

Class Variable Details [hide private]







   Home       Trees       Indices       Help