class documentation

class TerminalBuffer(protocol.Protocol): (source)

Known subclasses: twisted.conch.insults.helper.ExpectableBuffer

Implements interfaces: twisted.conch.insults.insults.ITerminalTransport

View In Hierarchy

An in-memory terminal emulator.
Method __bytes__ Undocumented
Method application​Keypad​Mode Cause keypad to generate control functions.
Method connection​Made Called when a connection is made.
Method cursor​Backward Move the cursor left n columns.
Method cursor​Down Move the cursor down n lines.
Method cursor​Forward Move the cursor right n columns.
Method cursor​Home Move the cursor home.
Method cursor​Position Move the cursor to the given line and column.
Method cursor​Up Move the cursor up n lines.
Method delete​Character Delete n characters starting at the cursor position.
Method delete​Line Delete n lines starting at the cursor position.
Method double​Height​Line Make the current line the top or bottom half of a double-height, double-width line.
Method double​Width​Line Make the current line a double-width line.
Method erase​Display Erase the entire display.
Method erase​Line Erase the entire cursor line.
Method erase​To​Display​Beginning Erase from the cursor to the beginning of the display, including the cursor position.
Method erase​To​Display​End Erase from the cursor to the end of the display, including the cursor position.
Method erase​To​Line​Beginning Erase from the cursor to the beginning of the line, including the cursor position.
Method erase​To​Line​End Erase from the cursor to the end of line, including cursor position.
Method get​Character Undocumented
Method get​Host Similar to getPeer, but returns an address describing this side of the connection.
Method get​Peer Get the remote address of this connection.
Method horizontal​Tabulation​Set Set a tab stop at the current cursor position.
Method index Move the cursor down one line, performing scrolling if necessary.
Method insert​At​Cursor Add one byte to the terminal at the cursor and make consequent state updates.
Method insert​Line Insert n lines at the cursor position.
Method lose​Connection Close my connection, after writing all pending data.
Method next​Line Update the cursor position attributes and scroll down if appropriate.
Method numeric​Keypad​Mode Cause keypad to generate normal characters.
Method report​Cursor​Position Return a Deferred that fires with a two-tuple of (x, y) indicating the cursor position.
Method reset Reset the terminal to its initial state.
Method reset​Modes Reset the given modes on the terminal.
Method reset​Private​Modes Disable the given modes.
Method restore​Cursor Restore the previously saved cursor position, character attribute, character set, and origin mode selection.
Method reverse​Index Move the cursor up one line, performing scrolling if necessary.
Method save​Cursor Save the cursor position, character attribute, character set, and origin mode selection.
Method select​Character​Set Select a character set.
Method select​Graphic​Rendition Enabled one or more character attributes.
Method set​Modes Set the given modes on the terminal.
Method set​Private​Modes Enable the given modes.
Method shift​In Activate the G0 character set.
Method shift​Out Activate the G1 character set.
Method single​Shift2 Shift to the G2 character set for a single character.
Method single​Shift3 Shift to the G3 character set for a single character.
Method single​Width​Line Make the current line a single-width, single-height line.
Method tabulation​Clear Clear the tab stop at the current cursor position.
Method tabulation​Clear​All Clear all tab stops.
Method unhandled​Control​Sequence Called when an unsupported control sequence is received.
Method write Add the given printable bytes to the terminal.
Method write​Sequence Write an iterable of byte strings to the physical connection.
Constant BACKSPACE Undocumented
Constant TAB Undocumented
Class Variable exec​Bytes Undocumented
Class Variable exec​Str Undocumented
Class Variable fill Undocumented
Class Variable height Undocumented
Class Variable void Undocumented
Class Variable width Undocumented
Instance Variable active​Charset Undocumented
Instance Variable charsets Undocumented
Instance Variable graphic​Rendition Undocumented
Instance Variable home Undocumented
Instance Variable keypad​Mode Undocumented
Instance Variable lines Undocumented
Instance Variable modes Undocumented
Instance Variable numeric​Keypad Undocumented
Instance Variable private​Modes Undocumented
Instance Variable x Undocumented
Instance Variable y Undocumented
Method _current​Formatting​State Undocumented
Method _empty​Line Undocumented
Method _scroll​Down Undocumented
Method _scroll​Up Undocumented
Class Variable _log Undocumented
Instance Variable _saved​Cursor Undocumented

Inherited from Protocol:

Method connection​Lost Called when the connection is shut down.
Method data​Received Called whenever data is received.
Method log​Prefix Return a prefix matching the class name, to identify log messages related to this protocol instance.
Class Variable factory Undocumented

Inherited from BaseProtocol (via Protocol):

Method make​Connection Make a connection to a transport and a server.
Instance Variable connected Undocumented
Instance Variable transport Undocumented
def __bytes__(self): (source)

Undocumented

def applicationKeypadMode(self): (source)

Cause keypad to generate control functions.

Cursor key mode selects the type of characters generated by cursor keys.

def connectionMade(self): (source)

Called when a connection is made.

This may be considered the initializer of the protocol, because it is called when the connection is completed. For clients, this is called once the connection to the server has been established; for servers, this is called after an accept() call stops blocking and a socket has been received. If you need to send any greeting or initial message, do it here.

def cursorBackward(self, n=1): (source)
Move the cursor left n columns.
def cursorDown(self, n=1): (source)
Move the cursor down n lines.
def cursorForward(self, n=1): (source)
Move the cursor right n columns.
def cursorPosition(self, column, line): (source)
Move the cursor to the given line and column.
def cursorUp(self, n=1): (source)
Move the cursor up n lines.
def deleteCharacter(self, n=1): (source)

Delete n characters starting at the cursor position.

Characters to the right of deleted characters are shifted to the left.

def deleteLine(self, n=1): (source)

Delete n lines starting at the cursor position.

Lines below the cursor are shifted up. This command is ignored when the cursor is outside the scroll region.

def doubleHeightLine(self, top=True): (source)

Make the current line the top or bottom half of a double-height, double-width line.

If top is True, the current line is the top half. Otherwise, it is the bottom half.

def doubleWidthLine(self): (source)
Make the current line a double-width line.
def eraseDisplay(self): (source)
Erase the entire display.
def eraseLine(self): (source)
Erase the entire cursor line.
def eraseToDisplayBeginning(self): (source)
Erase from the cursor to the beginning of the display, including the cursor position.
def eraseToDisplayEnd(self): (source)
Erase from the cursor to the end of the display, including the cursor position.
def eraseToLineBeginning(self): (source)
Erase from the cursor to the beginning of the line, including the cursor position.
def eraseToLineEnd(self): (source)
Erase from the cursor to the end of line, including cursor position.
def getCharacter(self, x, y): (source)

Undocumented

def getHost(self): (source)
Similar to getPeer, but returns an address describing this side of the connection.
Returns
An IAddress provider.
def getPeer(self): (source)

Get the remote address of this connection.

Treat this method with caution. It is the unfortunate result of the CGI and Jabber standards, but should not be considered reliable for the usual host of reasons; port forwarding, proxying, firewalls, IP masquerading, etc.

Returns
An IAddress provider.
def horizontalTabulationSet(self): (source)
Set a tab stop at the current cursor position.
def index(self): (source)
Move the cursor down one line, performing scrolling if necessary.
def insertAtCursor(self, b): (source)

Add one byte to the terminal at the cursor and make consequent state updates.

If b is a carriage return, move the cursor to the beginning of the current row.

If b is a line feed, move the cursor to the next row or scroll down if the cursor is already in the last row.

Otherwise, if b is printable, put it at the cursor position (inserting or overwriting as dictated by the current mode) and move the cursor.

def insertLine(self, n=1): (source)

Insert n lines at the cursor position.

Lines below the cursor are shifted down. Lines moved past the bottom margin are lost. This command is ignored when the cursor is outside the scroll region.

def loseConnection(self): (source)

Close my connection, after writing all pending data.

Note that if there is a registered producer on a transport it will not be closed until the producer has been unregistered.

def nextLine(self): (source)
Update the cursor position attributes and scroll down if appropriate.
def numericKeypadMode(self): (source)
Cause keypad to generate normal characters.
def reportCursorPosition(self): (source)
Return a Deferred that fires with a two-tuple of (x, y) indicating the cursor position.
def reset(self): (source)
Reset the terminal to its initial state.
def resetModes(self, modes): (source)
Reset the given modes on the terminal.
def restoreCursor(self): (source)

Restore the previously saved cursor position, character attribute, character set, and origin mode selection.

If no cursor state was previously saved, move the cursor to the home position.

def reverseIndex(self): (source)
Move the cursor up one line, performing scrolling if necessary.
def saveCursor(self): (source)
Save the cursor position, character attribute, character set, and origin mode selection.
def selectCharacterSet(self, charSet, which): (source)

Select a character set.

charSet should be one of CS_US, CS_UK, CS_DRAWING, CS_ALTERNATE, or CS_ALTERNATE_SPECIAL.

which should be one of G0 or G1.

def selectGraphicRendition(self, *attributes): (source)

Enabled one or more character attributes.

Arguments should be one or more of UNDERLINE, REVERSE_VIDEO, BLINK, or BOLD. NORMAL may also be specified to disable all character attributes.

def setModes(self, modes): (source)
Set the given modes on the terminal.
def setPrivateModes(self, modes): (source)

Enable the given modes.

Track which modes have been enabled so that the implementations of other insults.ITerminalTransport methods can be properly implemented to respect these settings.

See Also
resetPrivateModes
insults.ITerminalTransport.setPrivateModes
def shiftIn(self): (source)
Activate the G0 character set.
def shiftOut(self): (source)
Activate the G1 character set.
def singleShift2(self): (source)
Shift to the G2 character set for a single character.
def singleShift3(self): (source)
Shift to the G3 character set for a single character.
def singleWidthLine(self): (source)
Make the current line a single-width, single-height line.
def tabulationClear(self): (source)
Clear the tab stop at the current cursor position.
def tabulationClearAll(self): (source)
def unhandledControlSequence(self, buf): (source)
Called when an unsupported control sequence is received.
Parameters
bufUndocumented
seq:strThe whole control sequence which could not be interpreted.
def write(self, data): (source)

Add the given printable bytes to the terminal.

Line feeds in bytes will be replaced with carriage return / line feed pairs.

def writeSequence(self, data): (source)

Write an iterable of byte strings to the physical connection.

If possible, make sure that all of the data is written to the socket at once, without first copying it all into a single byte string.

Parameters
dataThe data to write.
BACKSPACE: bytes = (source)

Undocumented

Value
b'\x7f'

Undocumented

Value
b'\t'
execBytes = (source)

Undocumented

execStr = (source)

Undocumented

Undocumented

height: int = (source)

Undocumented

void = (source)

Undocumented

width: int = (source)

Undocumented

activeCharset = (source)

Undocumented

charsets = (source)

Undocumented

graphicRendition = (source)

Undocumented

home = (source)

Undocumented

keypadMode: str = (source)

Undocumented

lines = (source)

Undocumented

modes: dict = (source)

Undocumented

numericKeypad: str = (source)

Undocumented

privateModes: dict = (source)

Undocumented

Undocumented

Undocumented

def _currentFormattingState(self): (source)

Undocumented

def _emptyLine(self, width): (source)

Undocumented

def _scrollDown(self): (source)

Undocumented

def _scrollUp(self): (source)

Undocumented

_log = (source)

Undocumented

_savedCursor = (source)

Undocumented