twisted.words.protocols.irc._FormattingParser(_CommandDispatcherMixin)
class documentationtwisted.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 Also | http://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. |
Handle input.
Parameters | ch | A single character of input to process (type: str ) |
Flush the current buffer and return the final parsed result.
Returns | Structured text and attributes. |
Handle the "text" state.
Along with regular text, single token formatting codes are handled in this state too.
Parameters | ch | The character being processed. |
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".
Parameters | ch | The character being processed. |
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".
Parameters | ch | The character being processed. |