<spanid="evennia-utils-utils"></span><h1>evennia.utils.utils<aclass="headerlink"href="#module-evennia.utils.utils"title="Permalink to this headline">¶</a></h1>
<p>General helper functions that don’t fit neatly under any given category.</p>
<p>They provide some useful string and conversion methods that might
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">is_iter</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">obj</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#is_iter"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.is_iter"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">make_iter</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">obj</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#make_iter"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.make_iter"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">wrap</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">text</span></em>, <emclass="sig-param"><spanclass="n">width</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">indent</span><spanclass="o">=</span><spanclass="default_value">0</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#wrap"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.wrap"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">fill</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">text</span></em>, <emclass="sig-param"><spanclass="n">width</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">indent</span><spanclass="o">=</span><spanclass="default_value">0</span></em><spanclass="sig-paren">)</span><aclass="headerlink"href="#evennia.utils.utils.fill"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">crop</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">text</span></em>, <emclass="sig-param"><spanclass="n">width</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">suffix</span><spanclass="o">=</span><spanclass="default_value">'[...]'</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#crop"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.crop"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">dedent</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">text</span></em>, <emclass="sig-param"><spanclass="n">baseline_index</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#dedent"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.dedent"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">justify</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">text</span></em>, <emclass="sig-param"><spanclass="n">width</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">align</span><spanclass="o">=</span><spanclass="default_value">'f'</span></em>, <emclass="sig-param"><spanclass="n">indent</span><spanclass="o">=</span><spanclass="default_value">0</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#justify"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.justify"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">iter_to_string</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">initer</span></em>, <emclass="sig-param"><spanclass="n">endsep</span><spanclass="o">=</span><spanclass="default_value">'and'</span></em>, <emclass="sig-param"><spanclass="n">addquote</span><spanclass="o">=</span><spanclass="default_value">False</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#iter_to_string"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.iter_to_string"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">list_to_string</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">initer</span></em>, <emclass="sig-param"><spanclass="n">endsep</span><spanclass="o">=</span><spanclass="default_value">'and'</span></em>, <emclass="sig-param"><spanclass="n">addquote</span><spanclass="o">=</span><spanclass="default_value">False</span></em><spanclass="sig-paren">)</span><aclass="headerlink"href="#evennia.utils.utils.list_to_string"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">wildcard_to_regexp</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">instring</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#wildcard_to_regexp"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.wildcard_to_regexp"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">time_format</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">seconds</span></em>, <emclass="sig-param"><spanclass="n">style</span><spanclass="o">=</span><spanclass="default_value">0</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#time_format"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.time_format"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">datetime_format</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">dtobj</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#datetime_format"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.datetime_format"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">host_os_is</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">osname</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#host_os_is"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.host_os_is"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">get_evennia_version</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">mode</span><spanclass="o">=</span><spanclass="default_value">'long'</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#get_evennia_version"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.get_evennia_version"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">pypath_to_realpath</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">python_path</span></em>, <emclass="sig-param"><spanclass="n">file_ending</span><spanclass="o">=</span><spanclass="default_value">'.py'</span></em>, <emclass="sig-param"><spanclass="n">pypath_prefixes</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#pypath_to_realpath"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.pypath_to_realpath"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">dbref</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inp</span></em>, <emclass="sig-param"><spanclass="n">reqhash</span><spanclass="o">=</span><spanclass="default_value">True</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#dbref"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.dbref"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">dbref_to_obj</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inp</span></em>, <emclass="sig-param"><spanclass="n">objclass</span></em>, <emclass="sig-param"><spanclass="n">raise_errors</span><spanclass="o">=</span><spanclass="default_value">True</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#dbref_to_obj"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.dbref_to_obj"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">dbid_to_obj</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inp</span></em>, <emclass="sig-param"><spanclass="n">objclass</span></em>, <emclass="sig-param"><spanclass="n">raise_errors</span><spanclass="o">=</span><spanclass="default_value">True</span></em><spanclass="sig-paren">)</span><aclass="headerlink"href="#evennia.utils.utils.dbid_to_obj"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">latinify</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">string</span></em>, <emclass="sig-param"><spanclass="n">default</span><spanclass="o">=</span><spanclass="default_value">'?'</span></em>, <emclass="sig-param"><spanclass="n">pure_ascii</span><spanclass="o">=</span><spanclass="default_value">False</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#latinify"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.latinify"title="Permalink to this definition">¶</a></dt>
<dt>A ‘latinified’ string where each unicode character has been</dt><dd><p>replaced with a ‘safe’ equivalent available in the ascii/latin-1 charset.</p>
</dd>
</dl>
</p>
</dd>
</dl>
<pclass="rubric">Notes</p>
<dlclass="simple">
<dt>This is inspired by the gist by Ricardo Murri:</dt><dd><p><aclass="reference external"href="https://gist.github.com/riccardomurri/3c3ccec30f037be174d3">https://gist.github.com/riccardomurri/3c3ccec30f037be174d3</a></p>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">to_bytes</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">text</span></em>, <emclass="sig-param"><spanclass="n">session</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#to_bytes"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.to_bytes"title="Permalink to this definition">¶</a></dt>
<dd><p>Try to encode the given text to bytes, using encodings from settings or from Session. Will
always return a bytes, even if given something that is not str or bytes.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>text</strong> (<em>any</em>) – The text to encode to bytes. If bytes, return unchanged. If not a str, convert
to str before converting.</p></li>
<li><p><strong>session</strong> (<aclass="reference internal"href="evennia.server.session.html#evennia.server.session.Session"title="evennia.server.session.Session"><em>Session</em></a><em>, </em><em>optional</em>) – A Session to get encoding info from. Will try this before
<dt>the encoded text following the session’s protocol flag followed by the</dt><dd><p>encodings specified in settings.ENCODINGS. If all attempt fail, log the error and send
the text with “?” in place of problematic characters. If the specified encoding cannot
be found, the protocol flag is reset to utf-8. In any case, returns bytes.</p>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">to_str</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">text</span></em>, <emclass="sig-param"><spanclass="n">session</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#to_str"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.to_str"title="Permalink to this definition">¶</a></dt>
<dd><p>Try to decode a bytestream to a python str, using encoding schemas from settings
or from Session. Will always return a str(), also if not given a str/bytes.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>text</strong> (<em>any</em>) – The text to encode to bytes. If a str, return it. If also not bytes, convert
to str using str() or repr() as a fallback.</p></li>
<li><p><strong>session</strong> (<aclass="reference internal"href="evennia.server.session.html#evennia.server.session.Session"title="evennia.server.session.Session"><em>Session</em></a><em>, </em><em>optional</em>) – A Session to get encoding info from. Will try this before
falling back to settings.ENCODINGS.</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>decoded_text (str)</em>– The decoded text.</p>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">validate_email_address</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">emailaddress</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#validate_email_address"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.validate_email_address"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">inherits_from</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">obj</span></em>, <emclass="sig-param"><spanclass="n">parent</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#inherits_from"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.inherits_from"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">server_services</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#server_services"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.server_services"title="Permalink to this definition">¶</a></dt>
<dd><p>Lists all services active on the Server. Observe that since
services are launched in memory, this function will only return
any results if called from inside the game.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p><em>services (dict)</em>– A dict of available services.</p>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">uses_database</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">name</span><spanclass="o">=</span><spanclass="default_value">'sqlite3'</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#uses_database"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.uses_database"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">delay</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">timedelay</span></em>, <emclass="sig-param"><spanclass="n">callback</span></em>, <emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#delay"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.delay"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">run_async</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">to_execute</span></em>, <emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#run_async"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.run_async"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">check_evennia_dependencies</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#check_evennia_dependencies"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.check_evennia_dependencies"title="Permalink to this definition">¶</a></dt>
<dd><p>Checks the versions of Evennia’s dependencies including making
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">has_parent</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">basepath</span></em>, <emclass="sig-param"><spanclass="n">obj</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#has_parent"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.has_parent"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">mod_import_from_path</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">path</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#mod_import_from_path"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.mod_import_from_path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">mod_import</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">module</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#mod_import"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.mod_import"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">all_from_module</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">module</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#all_from_module"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.all_from_module"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">callables_from_module</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">module</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#callables_from_module"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.callables_from_module"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">variable_from_module</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">module</span></em>, <emclass="sig-param"><spanclass="n">variable</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">default</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#variable_from_module"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.variable_from_module"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">string_from_module</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">module</span></em>, <emclass="sig-param"><spanclass="n">variable</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">default</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#string_from_module"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.string_from_module"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">random_string_from_module</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">module</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#random_string_from_module"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.random_string_from_module"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">fuzzy_import_from_module</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">path</span></em>, <emclass="sig-param"><spanclass="n">variable</span></em>, <emclass="sig-param"><spanclass="n">default</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">defaultpaths</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#fuzzy_import_from_module"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.fuzzy_import_from_module"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">class_from_module</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">path</span></em>, <emclass="sig-param"><spanclass="n">defaultpaths</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#class_from_module"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.class_from_module"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">object_from_module</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">path</span></em>, <emclass="sig-param"><spanclass="n">defaultpaths</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="headerlink"href="#evennia.utils.utils.object_from_module"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">init_new_account</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">account</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#init_new_account"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.init_new_account"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">string_similarity</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">string1</span></em>, <emclass="sig-param"><spanclass="n">string2</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#string_similarity"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.string_similarity"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">string_suggestions</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">string</span></em>, <emclass="sig-param"><spanclass="n">vocabulary</span></em>, <emclass="sig-param"><spanclass="n">cutoff</span><spanclass="o">=</span><spanclass="default_value">0.6</span></em>, <emclass="sig-param"><spanclass="n">maxnum</span><spanclass="o">=</span><spanclass="default_value">3</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#string_suggestions"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.string_suggestions"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">string_partial_matching</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">alternatives</span></em>, <emclass="sig-param"><spanclass="n">inp</span></em>, <emclass="sig-param"><spanclass="n">ret_index</span><spanclass="o">=</span><spanclass="default_value">True</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#string_partial_matching"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.string_partial_matching"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">format_table</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">table</span></em>, <emclass="sig-param"><spanclass="n">extra_space</span><spanclass="o">=</span><spanclass="default_value">1</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#format_table"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.format_table"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">percent</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">value</span></em>, <emclass="sig-param"><spanclass="n">minval</span></em>, <emclass="sig-param"><spanclass="n">maxval</span></em>, <emclass="sig-param"><spanclass="n">formatting</span><spanclass="o">=</span><spanclass="default_value">'{:3.1f}%'</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#percent"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.percent"title="Permalink to this definition">¶</a></dt>
<dd><p>Get a value in an interval as a percentage of its position
in that interval. This also understands negative numbers.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>value</strong> (<em>number</em>) – This should be a value minval<=value<=maxval.</p></li>
<li><p><strong>minval</strong> (<em>number</em><em> or </em><em>None</em>) – Smallest value in interval. This could be None
for an open interval (then return will always be 100%)</p></li>
<li><p><strong>maxval</strong> (<em>number</em><em> or </em><em>None</em>) – Biggest value in interval. This could be None
for an open interval (then return will always be 100%)</p></li>
<li><p><strong>formatted</strong> (<em>str</em><em>, </em><em>optional</em>) – This is a string that should
accept one formatting tag. This will receive the
current value as a percentage. If None, the
raw float will be returned instead.</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>str or float</em>– The formatted value or the raw percentage as a float.</p>
</dd>
</dl>
<pclass="rubric">Notes</p>
<p>We try to handle a weird interval gracefully.</p>
<ulclass="simple">
<li><p>If either maxval or minval is None (open interval), we (aribtrarily) assume 100%.</p></li>
<li><p>If minval > maxval, we return 0%.</p></li>
<li><p>If minval == maxval == value we are looking at a single value match and return 100%.</p></li>
<li><p>If minval == maxval != value we return 0%.</p></li>
<li><p>If value not in [minval..maxval], we set value to the closest
boundary, so the result will be 0% or 100%, respectively.</p></li>
</ul>
</dd></dl>
<dlclass="py function">
<dtid="evennia.utils.utils.percentile">
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">percentile</code><spanclass="sig-paren">(</span><emclass="sig-param">iterable</em>, <emclass="sig-param">percent</em>, <emclass="sig-param">key=<function <lambda>></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#percentile"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.percentile"title="Permalink to this definition">¶</a></dt>
<dd><p>Find the percentile of a list of values.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>iterable</strong> (<em>iterable</em>) – A list of values. Note N MUST BE already sorted.</p></li>
<li><p><strong>percent</strong> (<em>float</em>) – A value from 0.0 to 1.0.</p></li>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">get_evennia_pids</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#get_evennia_pids"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.get_evennia_pids"title="Permalink to this definition">¶</a></dt>
<dd><p>Get the currently valid PIDs (Process IDs) of the Portal and
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">deepsize</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">obj</span></em>, <emclass="sig-param"><spanclass="n">max_depth</span><spanclass="o">=</span><spanclass="default_value">4</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#deepsize"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.deepsize"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">lazy_property</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">func</span></em>, <emclass="sig-param"><spanclass="n">name</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">doc</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#lazy_property"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.lazy_property"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">__init__</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">func</span></em>, <emclass="sig-param"><spanclass="n">name</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">doc</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#lazy_property.__init__"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.lazy_property.__init__"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">strip_control_sequences</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">string</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#strip_control_sequences"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.strip_control_sequences"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">calledby</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">callerdepth</span><spanclass="o">=</span><spanclass="default_value">1</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#calledby"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.calledby"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">m_len</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">target</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#m_len"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.m_len"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">display_len</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">target</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#display_len"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.display_len"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">LimitedSizeOrderedDict</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#LimitedSizeOrderedDict"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.LimitedSizeOrderedDict"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">__init__</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#LimitedSizeOrderedDict.__init__"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.LimitedSizeOrderedDict.__init__"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">update</code><spanclass="sig-paren">(</span><spanclass="optional">[</span><emclass="sig-param">E</em>, <spanclass="optional">]</span><emclass="sig-param">**F</em><spanclass="sig-paren">)</span>→ None. Update D from dict/iterable E and F.<aclass="reference internal"href="../_modules/evennia/utils/utils.html#LimitedSizeOrderedDict.update"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.LimitedSizeOrderedDict.update"title="Permalink to this definition">¶</a></dt>
<dd><p>If E is present and has a .keys() method, then does: for k in E: D[k] = E[k]
If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v
In either case, this is followed by: for k in F: D[k] = F[k]</p>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">get_game_dir_path</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#get_game_dir_path"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.get_game_dir_path"title="Permalink to this definition">¶</a></dt>
<dd><p>This is called by settings_default in order to determine the path
of the game directory.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p><em>path (str)</em>– Full OS path to the game dir</p>
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">get_all_typeclasses</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">parent</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#get_all_typeclasses"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.get_all_typeclasses"title="Permalink to this definition">¶</a></dt>
<dd><p>List available typeclasses from all available modules.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>parent</strong> (<em>str</em><em>, </em><em>optional</em>) – If given, only return typeclasses inheriting (at any distance)
<codeclass="sig-prename descclassname">evennia.utils.utils.</code><codeclass="sig-name descname">interactive</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">func</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/utils.html#interactive"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.utils.interactive"title="Permalink to this definition">¶</a></dt>
<spanclass="n">caller</span><spanclass="o">.</span><spanclass="n">msg</span><spanclass="p">(</span><spanclass="s2">"This is a test"</span><spanclass="p">)</span>
<spanclass="c1"># ask user (caller) a question</span>
<spanclass="n">response</span><spanclass="o">=</span><spanclass="k">yield</span><spanclass="p">(</span><spanclass="s2">"Do you want to continue waiting?"</span><spanclass="p">)</span>