t.w.p.i._FormattingParser(_CommandDispatcherMixin) : class documentation

Part of twisted.words.protocols.irc View Source View In Hierarchy

A finite-state machine that parses formatted IRC text.

Currently handled formatting includes: bold, reverse, underline, mIRC color codes and the ability to remove all current formatting.

See Alsohttp://www.mirc.co.uk/help/color.txt
Instance Variable state Current state of the finite-state machine. (type: str)
Instance Variable foreground Current foreground color attribute, or None. (type: _ForegroundColorAttr)
Instance Variable background Current background color attribute, or None. (type: _BackgroundColorAttr)
Method __init__ Undocumented
Method process Handle input.
Method complete Flush the current buffer and return the final parsed result.
Method emit Add the currently parsed input to the result.
Method state_TEXT Handle the "text" state.
Method state_COLOR_FOREGROUND Handle the foreground color state.
Method state_COLOR_BACKGROUND Handle the background color state.
Class Variable _formatCodes Mapping of format code values to names. (type: dict mapping str to str)
Instance Variable _buffer Buffer, containing the text content, of the formatting sequence currently being parsed, the buffer is used as the content for _attrs before being added to _result and emptied upon calling emit. (type: str)
Instance Variable _attrs Set of the applicable formatting states (bold, underline, etc.) for the current _buffer, these are applied to _buffer when calling emit. (type: set)
Instance Variable _result Current parse result.

Inherited from _CommandDispatcherMixin:

Instance Variable prefix Command handler prefix, used to locate handler attributes (type: str)
Method dispatch Perform actual command dispatch.
_formatCodes =
Mapping of format code values to names. (type: dict mapping str to str)
state =
Current state of the finite-state machine. (type: str)
_buffer =
Buffer, containing the text content, of the formatting sequence currently being parsed, the buffer is used as the content for _attrs before being added to _result and emptied upon calling emit. (type: str)
_attrs =
Set of the applicable formatting states (bold, underline, etc.) for the current _buffer, these are applied to _buffer when calling emit. (type: set)
foreground =
Current foreground color attribute, or None. (type: _ForegroundColorAttr)
background =
Current background color attribute, or None. (type: _BackgroundColorAttr)
_result =
Current parse result.
def __init__(self): (source)
Undocumented
def process(self, ch): (source)
Handle input.
ParameterschA single character of input to process (type: str)
def complete(self): (source)
Flush the current buffer and return the final parsed result.
ReturnsStructured text and attributes.
def emit(self): (source)
Add the currently parsed input to the result.
def state_TEXT(self, ch): (source)
Handle the "text" state.

Along with regular text, single token formatting codes are handled in this state too.

ParameterschThe character being processed.
def state_COLOR_FOREGROUND(self, ch): (source)
Handle the foreground color state.

Foreground colors can consist of up to two digits and may optionally end in a ,. Any non-digit or non-comma characters are treated as invalid input and result in the state being reset to "text".

ParameterschThe character being processed.
def state_COLOR_BACKGROUND(self, ch): (source)
Handle the background color state.

Background colors can consist of up to two digits and must occur after a foreground color and must be preceded by a ,. Any non-digit character is treated as invalid input and results in the state being set to "text".

ParameterschThe character being processed.
API Documentation for Twisted, generated by pydoctor at 2013-11-08 22:07:30.