<spanid="evennia-utils-validatorfuncs"></span><h1>evennia.utils.validatorfuncs<aclass="headerlink"href="#module-evennia.utils.validatorfuncs"title="Permalink to this headline">¶</a></h1>
<p>Contains all the validation functions.</p>
<p>All validation functions must have a checker (probably a session) and entry arg.</p>
<p>They can employ more paramters at your leisure.</p>
<dlclass="py function">
<dtid="evennia.utils.validatorfuncs.text">
<codeclass="sig-prename descclassname">evennia.utils.validatorfuncs.</code><codeclass="sig-name descname">text</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">entry</span></em>, <emclass="sig-param"><spanclass="n">option_key</span><spanclass="o">=</span><spanclass="default_value">'Text'</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/validatorfuncs.html#text"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.validatorfuncs.text"title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dlclass="py function">
<dtid="evennia.utils.validatorfuncs.color">
<codeclass="sig-prename descclassname">evennia.utils.validatorfuncs.</code><codeclass="sig-name descname">color</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">entry</span></em>, <emclass="sig-param"><spanclass="n">option_key</span><spanclass="o">=</span><spanclass="default_value">'Color'</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/validatorfuncs.html#color"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.validatorfuncs.color"title="Permalink to this definition">¶</a></dt>
<dd><p>The color should be just a color character, so ‘r’ if red color is desired.</p>
</dd></dl>
<dlclass="py function">
<dtid="evennia.utils.validatorfuncs.datetime">
<codeclass="sig-prename descclassname">evennia.utils.validatorfuncs.</code><codeclass="sig-name descname">datetime</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">entry</span></em>, <emclass="sig-param"><spanclass="n">option_key</span><spanclass="o">=</span><spanclass="default_value">'Datetime'</span></em>, <emclass="sig-param"><spanclass="n">account</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">from_tz</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/validatorfuncs.html#datetime"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.validatorfuncs.datetime"title="Permalink to this definition">¶</a></dt>
<dd><p>Process a datetime string in standard forms while accounting for the
inputer’s timezone. Always returns a result in UTC.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>entry</strong> (<em>str</em>) – A date string from a user.</p></li>
<li><p><strong>option_key</strong> (<em>str</em>) – Name to display this datetime as.</p></li>
<li><p><strong>account</strong> (<aclass="reference internal"href="evennia.accounts.models.html#evennia.accounts.models.AccountDB"title="evennia.accounts.models.AccountDB"><em>AccountDB</em></a>) – The Account performing this lookup. Unless <strong>from_tz</strong> is provided,
the account’s timezone option will be used.</p></li>
<li><p><strong>from_tz</strong> (<em>pytz.timezone</em>) – An instance of a pytz timezone object from the
user. If not provided, tries to use the timezone option of <strong>account</strong>.
If neither one is provided, defaults to UTC.</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p>datetime in UTC.</p>
</dd>
<dtclass="field-odd">Raises</dt>
<ddclass="field-odd"><p><strong>ValueError</strong>– If encountering a malformed timezone, date string or other format error.</p>
</dd>
</dl>
</dd></dl>
<dlclass="py function">
<dtid="evennia.utils.validatorfuncs.duration">
<codeclass="sig-prename descclassname">evennia.utils.validatorfuncs.</code><codeclass="sig-name descname">duration</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">entry</span></em>, <emclass="sig-param"><spanclass="n">option_key</span><spanclass="o">=</span><spanclass="default_value">'Duration'</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/validatorfuncs.html#duration"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.validatorfuncs.duration"title="Permalink to this definition">¶</a></dt>
<dd><p>Take a string and derive a datetime timedelta from it.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>entry</strong> (<em>string</em>) – This is a string from user-input. The intended format is, for example:
“5d 2w 90s” for ‘five days, two weeks, and ninety seconds.’ Invalid sections are
ignored.</p></li>
<li><p><strong>option_key</strong> (<em>str</em>) – Name to display this query as.</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p>timedelta</p>
</dd>
</dl>
</dd></dl>
<dlclass="py function">
<dtid="evennia.utils.validatorfuncs.future">
<codeclass="sig-prename descclassname">evennia.utils.validatorfuncs.</code><codeclass="sig-name descname">future</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">entry</span></em>, <emclass="sig-param"><spanclass="n">option_key</span><spanclass="o">=</span><spanclass="default_value">'Future Datetime'</span></em>, <emclass="sig-param"><spanclass="n">from_tz</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/validatorfuncs.html#future"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.validatorfuncs.future"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.validatorfuncs.</code><codeclass="sig-name descname">signed_integer</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">entry</span></em>, <emclass="sig-param"><spanclass="n">option_key</span><spanclass="o">=</span><spanclass="default_value">'Signed Integer'</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/validatorfuncs.html#signed_integer"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.validatorfuncs.signed_integer"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.validatorfuncs.</code><codeclass="sig-name descname">positive_integer</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">entry</span></em>, <emclass="sig-param"><spanclass="n">option_key</span><spanclass="o">=</span><spanclass="default_value">'Positive Integer'</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/validatorfuncs.html#positive_integer"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.validatorfuncs.positive_integer"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.validatorfuncs.</code><codeclass="sig-name descname">unsigned_integer</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">entry</span></em>, <emclass="sig-param"><spanclass="n">option_key</span><spanclass="o">=</span><spanclass="default_value">'Unsigned Integer'</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/validatorfuncs.html#unsigned_integer"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.validatorfuncs.unsigned_integer"title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dlclass="py function">
<dtid="evennia.utils.validatorfuncs.boolean">
<codeclass="sig-prename descclassname">evennia.utils.validatorfuncs.</code><codeclass="sig-name descname">boolean</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">entry</span></em>, <emclass="sig-param"><spanclass="n">option_key</span><spanclass="o">=</span><spanclass="default_value">'True/False'</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/validatorfuncs.html#boolean"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.validatorfuncs.boolean"title="Permalink to this definition">¶</a></dt>
<dd><p>Simplest check in computer logic, right? This will take user input to flick the switch on or off</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>entry</strong> (<em>str</em>) – A value such as True, On, Enabled, Disabled, False, 0, or 1.</p></li>
<li><p><strong>option_key</strong> (<em>str</em>) – What kind of Boolean we are setting. What Option is this for?</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p>Boolean</p>
</dd>
</dl>
</dd></dl>
<dlclass="py function">
<dtid="evennia.utils.validatorfuncs.timezone">
<codeclass="sig-prename descclassname">evennia.utils.validatorfuncs.</code><codeclass="sig-name descname">timezone</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">entry</span></em>, <emclass="sig-param"><spanclass="n">option_key</span><spanclass="o">=</span><spanclass="default_value">'Timezone'</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/validatorfuncs.html#timezone"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.validatorfuncs.timezone"title="Permalink to this definition">¶</a></dt>
<dd><p>Takes user input as string, and partial matches a Timezone.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>entry</strong> (<em>str</em>) – The name of the Timezone.</p></li>
<li><p><strong>option_key</strong> (<em>str</em>) – What this Timezone is used for.</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p>A PYTZ timezone.</p>
</dd>
</dl>
</dd></dl>
<dlclass="py function">
<dtid="evennia.utils.validatorfuncs.email">
<codeclass="sig-prename descclassname">evennia.utils.validatorfuncs.</code><codeclass="sig-name descname">email</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">entry</span></em>, <emclass="sig-param"><spanclass="n">option_key</span><spanclass="o">=</span><spanclass="default_value">'Email Address'</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/validatorfuncs.html#email"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.validatorfuncs.email"title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dlclass="py function">
<dtid="evennia.utils.validatorfuncs.lock">
<codeclass="sig-prename descclassname">evennia.utils.validatorfuncs.</code><codeclass="sig-name descname">lock</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">entry</span></em>, <emclass="sig-param"><spanclass="n">option_key</span><spanclass="o">=</span><spanclass="default_value">'locks'</span></em>, <emclass="sig-param"><spanclass="n">access_options</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/validatorfuncs.html#lock"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.validatorfuncs.lock"title="Permalink to this definition">¶</a></dt>