<spanid="evennia-utils-evtable"></span><h1>evennia.utils.evtable<aclass="headerlink"href="#module-evennia.utils.evtable"title="Link to this heading">¶</a></h1>
<p>This is an advanced ASCII table creator. It was inspired by Prettytable
(<aclass="reference external"href="https://code.google.com/p/prettytable/">https://code.google.com/p/prettytable/</a>) but shares no code and is considerably
more advanced, supporting auto-balancing of incomplete tables and ANSI colors among
<spanclass="n">table</span><spanclass="o">.</span><spanclass="n">add_column</span><spanclass="p">(</span><spanclass="s2">"This is long data"</span><spanclass="p">,</span><spanclass="s2">"This is even longer data"</span><spanclass="p">)</span>
<spanclass="n">table</span><spanclass="o">.</span><spanclass="n">add_row</span><spanclass="p">(</span><spanclass="s2">"This is a single row"</span><spanclass="p">)</span>
<spanclass="sig-prename descclassname"><spanclass="pre">evennia.utils.evtable.</span></span><spanclass="sig-name descname"><spanclass="pre">wrap</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">text</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">width</span></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="default_value"><spanclass="pre">78</span></span></em>, <emclass="sig-param"><spanclass="o"><spanclass="pre">**</span></span><spanclass="n"><spanclass="pre">kwargs</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/evtable.html#wrap"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.evtable.wrap"title="Link to this definition">¶</a></dt>
<spanclass="sig-prename descclassname"><spanclass="pre">evennia.utils.evtable.</span></span><spanclass="sig-name descname"><spanclass="pre">fill</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">text</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">width</span></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="default_value"><spanclass="pre">78</span></span></em>, <emclass="sig-param"><spanclass="o"><spanclass="pre">**</span></span><spanclass="n"><spanclass="pre">kwargs</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/evtable.html#fill"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.evtable.fill"title="Link to this definition">¶</a></dt>
<emclass="property"><spanclass="k"><spanclass="pre">class</span></span><spanclass="w"></span></em><spanclass="sig-prename descclassname"><spanclass="pre">evennia.utils.evtable.</span></span><spanclass="sig-name descname"><spanclass="pre">EvCell</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">data</span></span></em>, <emclass="sig-param"><spanclass="o"><spanclass="pre">**</span></span><spanclass="n"><spanclass="pre">kwargs</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/evtable.html#EvCell"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.evtable.EvCell"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">__init__</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">data</span></span></em>, <emclass="sig-param"><spanclass="o"><spanclass="pre">**</span></span><spanclass="n"><spanclass="pre">kwargs</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/evtable.html#EvCell.__init__"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.evtable.EvCell.__init__"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">get_min_height</span></span><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/evtable.html#EvCell.get_min_height"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.evtable.EvCell.get_min_height"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">get_min_width</span></span><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/evtable.html#EvCell.get_min_width"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.evtable.EvCell.get_min_width"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">get_height</span></span><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/evtable.html#EvCell.get_height"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.evtable.EvCell.get_height"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">get_width</span></span><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/evtable.html#EvCell.get_width"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.evtable.EvCell.get_width"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">replace_data</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">data</span></span></em>, <emclass="sig-param"><spanclass="o"><spanclass="pre">**</span></span><spanclass="n"><spanclass="pre">kwargs</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/evtable.html#EvCell.replace_data"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.evtable.EvCell.replace_data"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">reformat</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o"><spanclass="pre">**</span></span><spanclass="n"><spanclass="pre">kwargs</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/evtable.html#EvCell.reformat"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.evtable.EvCell.reformat"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">get</span></span><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/evtable.html#EvCell.get"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.evtable.EvCell.get"title="Link to this definition">¶</a></dt>
<emclass="property"><spanclass="k"><spanclass="pre">class</span></span><spanclass="w"></span></em><spanclass="sig-prename descclassname"><spanclass="pre">evennia.utils.evtable.</span></span><spanclass="sig-name descname"><spanclass="pre">EvColumn</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o"><spanclass="pre">*</span></span><spanclass="n"><spanclass="pre">args</span></span></em>, <emclass="sig-param"><spanclass="o"><spanclass="pre">**</span></span><spanclass="n"><spanclass="pre">kwargs</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/evtable.html#EvColumn"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.evtable.EvColumn"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">__init__</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o"><spanclass="pre">*</span></span><spanclass="n"><spanclass="pre">args</span></span></em>, <emclass="sig-param"><spanclass="o"><spanclass="pre">**</span></span><spanclass="n"><spanclass="pre">kwargs</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/evtable.html#EvColumn.__init__"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.evtable.EvColumn.__init__"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">add_rows</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o"><spanclass="pre">*</span></span><spanclass="n"><spanclass="pre">args</span></span></em>, <emclass="sig-param"><spanclass="o"><spanclass="pre">**</span></span><spanclass="n"><spanclass="pre">kwargs</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/evtable.html#EvColumn.add_rows"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.evtable.EvColumn.add_rows"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">reformat</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o"><spanclass="pre">**</span></span><spanclass="n"><spanclass="pre">kwargs</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/evtable.html#EvColumn.reformat"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.evtable.EvColumn.reformat"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">reformat_cell</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">index</span></span></em>, <emclass="sig-param"><spanclass="o"><spanclass="pre">**</span></span><spanclass="n"><spanclass="pre">kwargs</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/evtable.html#EvColumn.reformat_cell"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.evtable.EvColumn.reformat_cell"title="Link to this definition">¶</a></dt>
<emclass="property"><spanclass="k"><spanclass="pre">class</span></span><spanclass="w"></span></em><spanclass="sig-prename descclassname"><spanclass="pre">evennia.utils.evtable.</span></span><spanclass="sig-name descname"><spanclass="pre">EvTable</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o"><spanclass="pre">*</span></span><spanclass="n"><spanclass="pre">args</span></span></em>, <emclass="sig-param"><spanclass="o"><spanclass="pre">**</span></span><spanclass="n"><spanclass="pre">kwargs</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/evtable.html#EvTable"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.evtable.EvTable"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">__init__</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o"><spanclass="pre">*</span></span><spanclass="n"><spanclass="pre">args</span></span></em>, <emclass="sig-param"><spanclass="o"><spanclass="pre">**</span></span><spanclass="n"><spanclass="pre">kwargs</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/evtable.html#EvTable.__init__"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.evtable.EvTable.__init__"title="Link to this definition">¶</a></dt>
<li><p><strong>table</strong> (list of lists or list of <strong>EvColumns</strong>, optional) – This is used to build the table in a quick way. If not
given, the table will start out empty and <strong>add_</strong> methods
need to be used to add rows/columns.</p></li>
<li><p><strong>header</strong> (<em>bool</em><em>, </em><em>optional</em>) –<strong>True</strong>/<strong>False</strong> - turn off the
header texts (<strong>*args</strong>) being treated as a header (such as
not adding extra underlining)</p></li>
<li><p><strong>pad_width</strong> (<em>int</em><em>, </em><em>optional</em>) – How much empty space to pad your cells with
(default is 1)</p></li>
<li><p><strong>border</strong> (<em>str</em><em>, </em><em>optional</em><em>)</em>) – The border style to use. This is one of
- <strong>None</strong> - No border drawing at all.
- “table” - only a border around the whole table.
- “tablecols” - table and column borders. (default)
- “header” - only border under header.
- “cols” - only vertical borders.
- “incols” - vertical borders, no outer edges.
- “rows” - only borders between rows.
- “cells” - border around all cells.</p></li>
<li><p><strong>border_width</strong> (<em>int</em><em>, </em><em>optional</em>) – Width of table borders, if border is active.
Note that widths wider than 1 may give artifacts in the corners. Default is 1.</p></li>
<li><p><strong>corner_char</strong> (<em>str</em><em>, </em><em>optional</em>) – Character to use in corners when border is active.
Default is <strong>+</strong>.</p></li>
<li><p><strong>corner_top_left_char</strong> (<em>str</em><em>, </em><em>optional</em>) – Character used for “nw” corner of table.
Defaults to <strong>corner_char</strong>.</p></li>
<li><p><strong>corner_top_right_char</strong> (<em>str</em><em>, </em><em>optional</em>) – Character used for “ne” corner of table.
Defaults to <strong>corner_char</strong>.</p></li>
<li><p><strong>corner_bottom_left_char</strong> (<em>str</em><em>, </em><em>optional</em>) – Character used for “sw” corner of table.
Defaults to <strong>corner_char</strong>.</p></li>
<li><p><strong>corner_bottom_right_char</strong> (<em>str</em><em>, </em><em>optional</em>) – Character used for “se” corner of table.
Defaults to <strong>corner_char</strong>.</p></li>
<li><p><strong>pretty_corners</strong> (<em>bool</em><em>, </em><em>optional</em>) – Use custom characters to
make the table corners look “rounded”. Uses UTF-8
characters. Defaults to <strong>False</strong> for maximum compatibility with various displays
that may occationally have issues with UTF-8 characters.</p></li>
<li><p><strong>header_line_char</strong> (<em>str</em><em>, </em><em>optional</em>) – Character to use for underlining
the header row (default is ‘~’). Requires <strong>border</strong> to not be <strong>None</strong>.</p></li>
<li><p><strong>width</strong> (<em>int</em><em>, </em><em>optional</em>) – Fixed width of table. If not set,
width is set by the total width of each column. This will
resize individual columns in the vertical direction to fit.</p></li>
<li><p><strong>height</strong> (<em>int</em><em>, </em><em>optional</em>) – Fixed height of table. Defaults to being unset. Width is
still given precedence. If given, table cells will crop text rather
than expand vertically.</p></li>
<li><p><strong>evenwidth</strong> (<em>bool</em><em>, </em><em>optional</em>) – Used with the <strong>width</strong> keyword. Adjusts columns to have as
even width as possible. This often looks best also for mixed-length tables. Default
is <strong>False</strong>.</p></li>
<li><p><strong>maxwidth</strong> (<em>int</em><em>, </em><em>optional</em>) – This will set a maximum width
of the table while allowing it to be smaller. Only if it grows wider than this
size will it be resized by expanding horizontally (or crop <strong>height</strong> is given).
This keyword has no meaning if <strong>width</strong> is set.</p></li>
<spanclass="sig-name descname"><spanclass="pre">add_header</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o"><spanclass="pre">*</span></span><spanclass="n"><spanclass="pre">args</span></span></em>, <emclass="sig-param"><spanclass="o"><spanclass="pre">**</span></span><spanclass="n"><spanclass="pre">kwargs</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/evtable.html#EvTable.add_header"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.evtable.EvTable.add_header"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">add_column</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o"><spanclass="pre">*</span></span><spanclass="n"><spanclass="pre">args</span></span></em>, <emclass="sig-param"><spanclass="o"><spanclass="pre">**</span></span><spanclass="n"><spanclass="pre">kwargs</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/evtable.html#EvTable.add_column"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.evtable.EvTable.add_column"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">add_row</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o"><spanclass="pre">*</span></span><spanclass="n"><spanclass="pre">args</span></span></em>, <emclass="sig-param"><spanclass="o"><spanclass="pre">**</span></span><spanclass="n"><spanclass="pre">kwargs</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/evtable.html#EvTable.add_row"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.evtable.EvTable.add_row"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">reformat</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o"><spanclass="pre">**</span></span><spanclass="n"><spanclass="pre">kwargs</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/evtable.html#EvTable.reformat"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.evtable.EvTable.reformat"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">reformat_column</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">index</span></span></em>, <emclass="sig-param"><spanclass="o"><spanclass="pre">**</span></span><spanclass="n"><spanclass="pre">kwargs</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/evtable.html#EvTable.reformat_column"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.evtable.EvTable.reformat_column"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">get</span></span><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/evtable.html#EvTable.get"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.utils.evtable.EvTable.get"title="Link to this definition">¶</a></dt>