<spanid="evennia-utils-text2html"></span><h1>evennia.utils.text2html<aclass="headerlink"href="#module-evennia.utils.text2html"title="Link to this heading">¶</a></h1>
<p>ANSI -> html converter</p>
<p>Credit for original idea and implementation
goes to Muhammad Alkarouri and his
snippet #577349 on <aclass="reference external"href="http://code.activestate.com">http://code.activestate.com</a>.</p>
<emclass="property"><spanclass="k"><spanclass="pre">class</span></span><spanclass="w"></span></em><spanclass="sig-prename descclassname"><spanclass="pre">evennia.utils.text2html.</span></span><spanclass="sig-name descname"><spanclass="pre">TextToHTMLparser</span></span><aclass="reference internal"href="../_modules/evennia/utils/text2html.html#TextToHTMLparser"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.text2html.TextToHTMLparser"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">tabstop</span></span><emclass="property"><spanclass="w"></span><spanclass="p"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="pre">4</span></em><aclass="headerlink"href="#evennia.utils.text2html.TextToHTMLparser.tabstop"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">style_codes</span></span><emclass="property"><spanclass="w"></span><spanclass="p"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="pre">['\x1b[0m',</span><spanclass="pre">'\x1b[4m',</span><spanclass="pre">'\x1b[1m',</span><spanclass="pre">'\x1b[22m',</span><spanclass="pre">'\x1b[7m',</span><spanclass="pre">'\x1b[5m',</span><spanclass="pre">'\x1b[1;7m',</span><spanclass="pre">'\x1b[1;5m',</span><spanclass="pre">'\x1b[7;5m',</span><spanclass="pre">'\x1b[1;5;7m']</span></em><aclass="headerlink"href="#evennia.utils.text2html.TextToHTMLparser.style_codes"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">ansi_color_codes</span></span><emclass="property"><spanclass="w"></span><spanclass="p"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="pre">['\x1b[30m',</span><spanclass="pre">'\x1b[31m',</span><spanclass="pre">'\x1b[32m',</span><spanclass="pre">'\x1b[33m',</span><spanclass="pre">'\x1b[34m',</span><spanclass="pre">'\x1b[35m',</span><spanclass="pre">'\x1b[36m',</span><spanclass="pre">'\x1b[37m']</span></em><aclass="headerlink"href="#evennia.utils.text2html.TextToHTMLparser.ansi_color_codes"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">ansi_bg_codes</span></span><emclass="property"><spanclass="w"></span><spanclass="p"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="pre">['\x1b[40m',</span><spanclass="pre">'\x1b[41m',</span><spanclass="pre">'\x1b[42m',</span><spanclass="pre">'\x1b[43m',</span><spanclass="pre">'\x1b[44m',</span><spanclass="pre">'\x1b[45m',</span><spanclass="pre">'\x1b[46m',</span><spanclass="pre">'\x1b[47m']</span></em><aclass="headerlink"href="#evennia.utils.text2html.TextToHTMLparser.ansi_bg_codes"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">re_style</span></span><emclass="property"><spanclass="w"></span><spanclass="p"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="pre">re.compile('(\x1b\\[0m|\x1b\\[4m|\x1b\\[1m|\x1b\\[22m|\x1b\\[7m|\x1b\\[5m|\x1b\\[1;7m|\x1b\\[1;5m|\x1b\\[7;5m|\x1b\\[1;5;7m|\x1b\\[30m|\x1b\\[31m|\x1b\\[32m|\x1b\\[33m|\x1b\\[34m|\x1b\\[35m|\x1b\\[36m|\x1b\\[37m)</span></em><aclass="headerlink"href="#evennia.utils.text2html.TextToHTMLparser.re_style"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">re_string</span></span><emclass="property"><spanclass="w"></span><spanclass="p"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="pre">re.compile('(?P<htmlchars>[<&>])|(?P<tab>[\\t]+)|(?P<lineend>\\r\\n|\\r|\\n)',</span><spanclass="pre">re.IGNORECASE|re.MULTILINE|re.DOTALL)</span></em><aclass="headerlink"href="#evennia.utils.text2html.TextToHTMLparser.re_string"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">re_url</span></span><emclass="property"><spanclass="w"></span><spanclass="p"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="pre">re.compile('(?<!=")(\\b(?:ftp|www|https?)\\W+(?:(?!\\.(?:\\s|$)|&\\w+;)[^"\\\',;$*^\\\\(){}<>\\[\\]\\s])+)(\\.(?:\\s|$)|&\\w+;|)')</span></em><aclass="headerlink"href="#evennia.utils.text2html.TextToHTMLparser.re_url"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">re_protocol</span></span><emclass="property"><spanclass="w"></span><spanclass="p"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="pre">re.compile('^(?:ftp|https?)://')</span></em><aclass="headerlink"href="#evennia.utils.text2html.TextToHTMLparser.re_protocol"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">re_valid_no_protocol</span></span><emclass="property"><spanclass="w"></span><spanclass="p"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="pre">re.compile('^(?:www|ftp)\\.[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b[-a-zA-Z0-9@:%_\\+.~#?&//=]*')</span></em><aclass="headerlink"href="#evennia.utils.text2html.TextToHTMLparser.re_valid_no_protocol"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">re_mxplink</span></span><emclass="property"><spanclass="w"></span><spanclass="p"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="pre">re.compile('\\|lc(.*?)\\|lt(.*?)\\|le',</span><spanclass="pre">re.DOTALL)</span></em><aclass="headerlink"href="#evennia.utils.text2html.TextToHTMLparser.re_mxplink"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">re_mxpurl</span></span><emclass="property"><spanclass="w"></span><spanclass="p"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="pre">re.compile('\\|lu(.*?)\\|lt(.*?)\\|le',</span><spanclass="pre">re.DOTALL)</span></em><aclass="headerlink"href="#evennia.utils.text2html.TextToHTMLparser.re_mxpurl"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">remove_bells</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">text</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/text2html.html#TextToHTMLparser.remove_bells"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.text2html.TextToHTMLparser.remove_bells"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">remove_backspaces</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">text</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/text2html.html#TextToHTMLparser.remove_backspaces"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.text2html.TextToHTMLparser.remove_backspaces"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">convert_linebreaks</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">text</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/text2html.html#TextToHTMLparser.convert_linebreaks"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.text2html.TextToHTMLparser.convert_linebreaks"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">convert_urls</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">text</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/text2html.html#TextToHTMLparser.convert_urls"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.text2html.TextToHTMLparser.convert_urls"title="Link to this definition">¶</a></dt>
<dd><p>Replace urls (<aclass="reference external"href="http://">http://</a>…) by valid HTML.</p>
<spanclass="sig-name descname"><spanclass="pre">sub_mxp_links</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">match</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/text2html.html#TextToHTMLparser.sub_mxp_links"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.text2html.TextToHTMLparser.sub_mxp_links"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">sub_mxp_urls</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">match</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/text2html.html#TextToHTMLparser.sub_mxp_urls"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.text2html.TextToHTMLparser.sub_mxp_urls"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">sub_text</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">match</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/text2html.html#TextToHTMLparser.sub_text"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.text2html.TextToHTMLparser.sub_text"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">format_styles</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">text</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/text2html.html#TextToHTMLparser.format_styles"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.text2html.TextToHTMLparser.format_styles"title="Link to this definition">¶</a></dt>
<dd><p>Takes a string with parsed ANSI codes and replaces them with
<spanclass="sig-name descname"><spanclass="pre">parse</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">text</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">strip_ansi</span></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="default_value"><spanclass="pre">False</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/text2html.html#TextToHTMLparser.parse"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.text2html.TextToHTMLparser.parse"title="Link to this definition">¶</a></dt>
<dd><p>Main access function, converts a text containing ANSI codes
<spanclass="sig-prename descclassname"><spanclass="pre">evennia.utils.text2html.</span></span><spanclass="sig-name descname"><spanclass="pre">parse_html</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">string</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">strip_ansi=False</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">parser=<evennia.utils.text2html.TextToHTMLparser</span><spanclass="pre">object></span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/text2html.html#parse_html"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.text2html.parse_html"title="Link to this definition">¶</a></dt>
<dd><p>Parses a string, replace ANSI markup with html</p>