class twisted.words.protocols.irc._FormattingParser(_CommandDispatcherMixin): (source)
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. |
Instance Variable | foreground | Current foreground color attribute, or None . |
Instance Variable | background | Current background color attribute, or None . |
Class Variable | prefix | Undocumented |
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. |
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 . |
Instance Variable | _attrs | Set of the applicable formatting states (bold, underline, etc.) for the current _buffer , these are applied to _buffer when calling emit . |
Instance Variable | _result | Current parse result. |
Inherited from _CommandDispatcherMixin:
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. |