evennia/docs/latest/api/evennia.utils.optionclasses.html
Evennia docbuilder action 243d596662 Updated HTML docs.
2025-08-15 18:14:21 +00:00

1069 lines
No EOL
87 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en" data-content_root="../">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>evennia.utils.optionclasses &#8212; Evennia latest documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=d75fae25" />
<link rel="stylesheet" type="text/css" href="../_static/nature.css?v=279e0f84" />
<link rel="stylesheet" type="text/css" href="../_static/custom.css?v=e4a91a55" />
<script src="../_static/documentation_options.js?v=c6e86fd7"></script>
<script src="../_static/doctools.js?v=9bcbadda"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<link rel="icon" href="../_static/favicon.ico"/>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="evennia.utils.optionhandler" href="evennia.utils.optionhandler.html" />
<link rel="prev" title="evennia.utils.logger" href="evennia.utils.logger.html" />
</head><body>
<div class="related" role="navigation" aria-label="Related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="evennia.utils.optionhandler.html" title="evennia.utils.optionhandler"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="evennia.utils.logger.html" title="evennia.utils.logger"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> &#187;</li>
<li class="nav-item nav-item-2"><a href="evennia-api.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-3"><a href="evennia.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-4"><a href="evennia.utils.html" accesskey="U">evennia.utils</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.utils.optionclasses</a></li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<section id="module-evennia.utils.optionclasses">
<span id="evennia-utils-optionclasses"></span><h1>evennia.utils.optionclasses<a class="headerlink" href="#module-evennia.utils.optionclasses" title="Link to this heading"></a></h1>
<dl class="py class">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.BaseOption">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.utils.optionclasses.</span></span><span class="sig-name descname"><span class="pre">BaseOption</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">handler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">key</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">description</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">default</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#BaseOption"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.BaseOption" title="Link to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<p>Abstract Class to deal with encapsulating individual Options. An Option has
a name/key, a description to display in relevant commands and menus, and a
default value. It saves to the owners Attributes using its Handlers save
category.</p>
<p>Designed to be extremely overloadable as some options can be cantankerous.</p>
<dl class="simple">
<dt>Properties:</dt><dd><p>valid: Shortcut to the loaded VALID_HANDLER.
validator_key (str): The key of the Validator this uses.</p>
</dd>
</dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.BaseOption.__init__">
<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">handler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">key</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">description</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">default</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#BaseOption.__init__"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.BaseOption.__init__" title="Link to this definition"></a></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>handler</strong> (<a class="reference internal" href="evennia.accounts.accounts.html#evennia.accounts.accounts.OptionHandler" title="evennia.accounts.accounts.OptionHandler"><em>OptionHandler</em></a>) The OptionHandler that owns this Option.</p></li>
<li><p><strong>key</strong> (<em>str</em>) The name this will be used for storage in a dictionary.
Must be unique per OptionHandler.</p></li>
<li><p><strong>description</strong> (<em>str</em>) What this Options text will show in commands and menus.</p></li>
<li><p><strong>default</strong> A default value for this Option.</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py property">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.BaseOption.changed">
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">changed</span></span><a class="headerlink" href="#evennia.utils.optionclasses.BaseOption.changed" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py property">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.BaseOption.default">
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">default</span></span><a class="headerlink" href="#evennia.utils.optionclasses.BaseOption.default" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py property">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.BaseOption.value">
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">value</span></span><a class="headerlink" href="#evennia.utils.optionclasses.BaseOption.value" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.BaseOption.set">
<span class="sig-name descname"><span class="pre">set</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">value</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#BaseOption.set"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.BaseOption.set" title="Link to this definition"></a></dt>
<dd><p>Takes user input and stores appropriately. This method allows for
passing extra instructions into the validator.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>value</strong> (<em>str</em>) The new value of this Option.</p></li>
<li><p><strong>kwargs</strong> (<em>any</em>) Any kwargs will be passed into
<strong>self.validate(value, **kwargs)</strong> and <strong>self.save(**kwargs)</strong>.</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.BaseOption.load">
<span class="sig-name descname"><span class="pre">load</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#BaseOption.load"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.BaseOption.load" title="Link to this definition"></a></dt>
<dd><p>Takes the provided save data, validates it, and gets this Option ready to use.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p><em>Boolean</em> Whether loading was successful.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.BaseOption.save">
<span class="sig-name descname"><span class="pre">save</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#BaseOption.save"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.BaseOption.save" title="Link to this definition"></a></dt>
<dd><p>Stores the current value using <strong>.handler.save_handler(self.key, value, **kwargs)</strong>
where <strong>kwargs</strong> are a combination of those passed into this function and
the ones specified by the <strong>OptionHandler</strong>.</p>
<dl class="field-list simple">
<dt class="field-odd">Keyword Arguments<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>any</strong> (<em>any</em>) Not used by default. These are passed in from self.set
and allows the option to let the caller customize saving by
overriding or extend the default save kwargs</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.BaseOption.deserialize">
<span class="sig-name descname"><span class="pre">deserialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">save_data</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#BaseOption.deserialize"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.BaseOption.deserialize" title="Link to this definition"></a></dt>
<dd><p>Perform sanity-checking on the save data as it is loaded from storage.
This isnt the same as what validator-functions provide (those work on
user input). For example, save data might be a timedelta or a list or
some other object.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>save_data</strong> The data to check.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><p><em>any (any)</em> </p>
<dl class="simple">
<dt>Whatever the Option needs to track, like a string or a</dt><dd><p>datetime. The display hook is responsible for what is actually
displayed to user.</p>
</dd>
</dl>
</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.BaseOption.serialize">
<span class="sig-name descname"><span class="pre">serialize</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#BaseOption.serialize"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.BaseOption.serialize" title="Link to this definition"></a></dt>
<dd><p>Serializes the save data for Attribute storage.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p><em>any (any)</em> Whatever is best for storage.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.BaseOption.validate">
<span class="sig-name descname"><span class="pre">validate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">value</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#BaseOption.validate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.BaseOption.validate" title="Link to this definition"></a></dt>
<dd><p>Validate user input, which is presumed to be a string.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>value</strong> (<em>str</em>) User input.</p></li>
<li><p><strong>account</strong> (<a class="reference internal" href="evennia.accounts.accounts.html#evennia.accounts.accounts.AccountDB" title="evennia.accounts.accounts.AccountDB"><em>AccountDB</em></a>) The Account that is performing the validation.
This is necessary because of other settings which may affect the
check, such as an Accounts timezone affecting how their datetime
entries are processed.</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><em>any (any)</em> The results of the validation.</p>
</dd>
<dt class="field-odd">Raises<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference internal" href="evennia.accounts.accounts.html#evennia.accounts.accounts.ValidationError" title="evennia.accounts.accounts.ValidationError"><strong>ValidationError</strong></a> If input value failed validation.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.BaseOption.display">
<span class="sig-name descname"><span class="pre">display</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#BaseOption.display"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.BaseOption.display" title="Link to this definition"></a></dt>
<dd><p>Renders the Options value as something pretty to look at.</p>
<dl class="field-list simple">
<dt class="field-odd">Keyword Arguments<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>any</strong> (<em>any</em>) These are options passed by the caller to potentially
customize display dynamically.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><p><em>str</em> </p>
<dl class="simple">
<dt>How the stored value should be projected to users (e.g. a raw</dt><dd><p>timedelta is pretty ugly).</p>
</dd>
</dl>
</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.Text">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.utils.optionclasses.</span></span><span class="sig-name descname"><span class="pre">Text</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">handler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">key</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">description</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">default</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#Text"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.Text" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.utils.optionclasses.BaseOption" title="evennia.utils.optionclasses.BaseOption"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseOption</span></code></a></p>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.Text.deserialize">
<span class="sig-name descname"><span class="pre">deserialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">save_data</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#Text.deserialize"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.Text.deserialize" title="Link to this definition"></a></dt>
<dd><p>Perform sanity-checking on the save data as it is loaded from storage.
This isnt the same as what validator-functions provide (those work on
user input). For example, save data might be a timedelta or a list or
some other object.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>save_data</strong> The data to check.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><p><em>any (any)</em> </p>
<dl class="simple">
<dt>Whatever the Option needs to track, like a string or a</dt><dd><p>datetime. The display hook is responsible for what is actually
displayed to user.</p>
</dd>
</dl>
</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.Email">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.utils.optionclasses.</span></span><span class="sig-name descname"><span class="pre">Email</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">handler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">key</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">description</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">default</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#Email"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.Email" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.utils.optionclasses.BaseOption" title="evennia.utils.optionclasses.BaseOption"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseOption</span></code></a></p>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.Email.validate">
<span class="sig-name descname"><span class="pre">validate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">value</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#Email.validate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.Email.validate" title="Link to this definition"></a></dt>
<dd><p>Validate user input, which is presumed to be a string.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>value</strong> (<em>str</em>) User input.</p></li>
<li><p><strong>account</strong> (<a class="reference internal" href="evennia.accounts.accounts.html#evennia.accounts.accounts.AccountDB" title="evennia.accounts.accounts.AccountDB"><em>AccountDB</em></a>) The Account that is performing the validation.
This is necessary because of other settings which may affect the
check, such as an Accounts timezone affecting how their datetime
entries are processed.</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><em>any (any)</em> The results of the validation.</p>
</dd>
<dt class="field-odd">Raises<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference internal" href="evennia.accounts.accounts.html#evennia.accounts.accounts.ValidationError" title="evennia.accounts.accounts.ValidationError"><strong>ValidationError</strong></a> If input value failed validation.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.Email.deserialize">
<span class="sig-name descname"><span class="pre">deserialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">save_data</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#Email.deserialize"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.Email.deserialize" title="Link to this definition"></a></dt>
<dd><p>Perform sanity-checking on the save data as it is loaded from storage.
This isnt the same as what validator-functions provide (those work on
user input). For example, save data might be a timedelta or a list or
some other object.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>save_data</strong> The data to check.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><p><em>any (any)</em> </p>
<dl class="simple">
<dt>Whatever the Option needs to track, like a string or a</dt><dd><p>datetime. The display hook is responsible for what is actually
displayed to user.</p>
</dd>
</dl>
</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.Boolean">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.utils.optionclasses.</span></span><span class="sig-name descname"><span class="pre">Boolean</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">handler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">key</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">description</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">default</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#Boolean"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.Boolean" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.utils.optionclasses.BaseOption" title="evennia.utils.optionclasses.BaseOption"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseOption</span></code></a></p>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.Boolean.validate">
<span class="sig-name descname"><span class="pre">validate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">value</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#Boolean.validate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.Boolean.validate" title="Link to this definition"></a></dt>
<dd><p>Validate user input, which is presumed to be a string.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>value</strong> (<em>str</em>) User input.</p></li>
<li><p><strong>account</strong> (<a class="reference internal" href="evennia.accounts.accounts.html#evennia.accounts.accounts.AccountDB" title="evennia.accounts.accounts.AccountDB"><em>AccountDB</em></a>) The Account that is performing the validation.
This is necessary because of other settings which may affect the
check, such as an Accounts timezone affecting how their datetime
entries are processed.</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><em>any (any)</em> The results of the validation.</p>
</dd>
<dt class="field-odd">Raises<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference internal" href="evennia.accounts.accounts.html#evennia.accounts.accounts.ValidationError" title="evennia.accounts.accounts.ValidationError"><strong>ValidationError</strong></a> If input value failed validation.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.Boolean.display">
<span class="sig-name descname"><span class="pre">display</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#Boolean.display"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.Boolean.display" title="Link to this definition"></a></dt>
<dd><p>Renders the Options value as something pretty to look at.</p>
<dl class="field-list simple">
<dt class="field-odd">Keyword Arguments<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>any</strong> (<em>any</em>) These are options passed by the caller to potentially
customize display dynamically.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><p><em>str</em> </p>
<dl class="simple">
<dt>How the stored value should be projected to users (e.g. a raw</dt><dd><p>timedelta is pretty ugly).</p>
</dd>
</dl>
</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.Boolean.serialize">
<span class="sig-name descname"><span class="pre">serialize</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#Boolean.serialize"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.Boolean.serialize" title="Link to this definition"></a></dt>
<dd><p>Serializes the save data for Attribute storage.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p><em>any (any)</em> Whatever is best for storage.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.Boolean.deserialize">
<span class="sig-name descname"><span class="pre">deserialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">save_data</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#Boolean.deserialize"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.Boolean.deserialize" title="Link to this definition"></a></dt>
<dd><p>Perform sanity-checking on the save data as it is loaded from storage.
This isnt the same as what validator-functions provide (those work on
user input). For example, save data might be a timedelta or a list or
some other object.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>save_data</strong> The data to check.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><p><em>any (any)</em> </p>
<dl class="simple">
<dt>Whatever the Option needs to track, like a string or a</dt><dd><p>datetime. The display hook is responsible for what is actually
displayed to user.</p>
</dd>
</dl>
</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.Color">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.utils.optionclasses.</span></span><span class="sig-name descname"><span class="pre">Color</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">handler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">key</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">description</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">default</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#Color"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.Color" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.utils.optionclasses.BaseOption" title="evennia.utils.optionclasses.BaseOption"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseOption</span></code></a></p>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.Color.validate">
<span class="sig-name descname"><span class="pre">validate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">value</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#Color.validate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.Color.validate" title="Link to this definition"></a></dt>
<dd><p>Validate user input, which is presumed to be a string.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>value</strong> (<em>str</em>) User input.</p></li>
<li><p><strong>account</strong> (<a class="reference internal" href="evennia.accounts.accounts.html#evennia.accounts.accounts.AccountDB" title="evennia.accounts.accounts.AccountDB"><em>AccountDB</em></a>) The Account that is performing the validation.
This is necessary because of other settings which may affect the
check, such as an Accounts timezone affecting how their datetime
entries are processed.</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><em>any (any)</em> The results of the validation.</p>
</dd>
<dt class="field-odd">Raises<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference internal" href="evennia.accounts.accounts.html#evennia.accounts.accounts.ValidationError" title="evennia.accounts.accounts.ValidationError"><strong>ValidationError</strong></a> If input value failed validation.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.Color.display">
<span class="sig-name descname"><span class="pre">display</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#Color.display"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.Color.display" title="Link to this definition"></a></dt>
<dd><p>Renders the Options value as something pretty to look at.</p>
<dl class="field-list simple">
<dt class="field-odd">Keyword Arguments<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>any</strong> (<em>any</em>) These are options passed by the caller to potentially
customize display dynamically.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><p><em>str</em> </p>
<dl class="simple">
<dt>How the stored value should be projected to users (e.g. a raw</dt><dd><p>timedelta is pretty ugly).</p>
</dd>
</dl>
</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.Color.deserialize">
<span class="sig-name descname"><span class="pre">deserialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">save_data</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#Color.deserialize"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.Color.deserialize" title="Link to this definition"></a></dt>
<dd><p>Perform sanity-checking on the save data as it is loaded from storage.
This isnt the same as what validator-functions provide (those work on
user input). For example, save data might be a timedelta or a list or
some other object.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>save_data</strong> The data to check.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><p><em>any (any)</em> </p>
<dl class="simple">
<dt>Whatever the Option needs to track, like a string or a</dt><dd><p>datetime. The display hook is responsible for what is actually
displayed to user.</p>
</dd>
</dl>
</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.Timezone">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.utils.optionclasses.</span></span><span class="sig-name descname"><span class="pre">Timezone</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">handler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">key</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">description</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">default</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#Timezone"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.Timezone" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.utils.optionclasses.BaseOption" title="evennia.utils.optionclasses.BaseOption"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseOption</span></code></a></p>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.Timezone.validate">
<span class="sig-name descname"><span class="pre">validate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">value</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#Timezone.validate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.Timezone.validate" title="Link to this definition"></a></dt>
<dd><p>Validate user input, which is presumed to be a string.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>value</strong> (<em>str</em>) User input.</p></li>
<li><p><strong>account</strong> (<a class="reference internal" href="evennia.accounts.accounts.html#evennia.accounts.accounts.AccountDB" title="evennia.accounts.accounts.AccountDB"><em>AccountDB</em></a>) The Account that is performing the validation.
This is necessary because of other settings which may affect the
check, such as an Accounts timezone affecting how their datetime
entries are processed.</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><em>any (any)</em> The results of the validation.</p>
</dd>
<dt class="field-odd">Raises<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference internal" href="evennia.accounts.accounts.html#evennia.accounts.accounts.ValidationError" title="evennia.accounts.accounts.ValidationError"><strong>ValidationError</strong></a> If input value failed validation.</p>
</dd>
</dl>
</dd></dl>
<dl class="py property">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.Timezone.default">
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">default</span></span><a class="headerlink" href="#evennia.utils.optionclasses.Timezone.default" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.Timezone.deserialize">
<span class="sig-name descname"><span class="pre">deserialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">save_data</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#Timezone.deserialize"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.Timezone.deserialize" title="Link to this definition"></a></dt>
<dd><p>Perform sanity-checking on the save data as it is loaded from storage.
This isnt the same as what validator-functions provide (those work on
user input). For example, save data might be a timedelta or a list or
some other object.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>save_data</strong> The data to check.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><p><em>any (any)</em> </p>
<dl class="simple">
<dt>Whatever the Option needs to track, like a string or a</dt><dd><p>datetime. The display hook is responsible for what is actually
displayed to user.</p>
</dd>
</dl>
</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.Timezone.serialize">
<span class="sig-name descname"><span class="pre">serialize</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#Timezone.serialize"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.Timezone.serialize" title="Link to this definition"></a></dt>
<dd><p>Serializes the save data for Attribute storage.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p><em>any (any)</em> Whatever is best for storage.</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.UnsignedInteger">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.utils.optionclasses.</span></span><span class="sig-name descname"><span class="pre">UnsignedInteger</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">handler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">key</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">description</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">default</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#UnsignedInteger"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.UnsignedInteger" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.utils.optionclasses.BaseOption" title="evennia.utils.optionclasses.BaseOption"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseOption</span></code></a></p>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.UnsignedInteger.validator_key">
<span class="sig-name descname"><span class="pre">validator_key</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'unsigned_integer'</span></em><a class="headerlink" href="#evennia.utils.optionclasses.UnsignedInteger.validator_key" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.UnsignedInteger.validate">
<span class="sig-name descname"><span class="pre">validate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">value</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#UnsignedInteger.validate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.UnsignedInteger.validate" title="Link to this definition"></a></dt>
<dd><p>Validate user input, which is presumed to be a string.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>value</strong> (<em>str</em>) User input.</p></li>
<li><p><strong>account</strong> (<a class="reference internal" href="evennia.accounts.accounts.html#evennia.accounts.accounts.AccountDB" title="evennia.accounts.accounts.AccountDB"><em>AccountDB</em></a>) The Account that is performing the validation.
This is necessary because of other settings which may affect the
check, such as an Accounts timezone affecting how their datetime
entries are processed.</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><em>any (any)</em> The results of the validation.</p>
</dd>
<dt class="field-odd">Raises<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference internal" href="evennia.accounts.accounts.html#evennia.accounts.accounts.ValidationError" title="evennia.accounts.accounts.ValidationError"><strong>ValidationError</strong></a> If input value failed validation.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.UnsignedInteger.deserialize">
<span class="sig-name descname"><span class="pre">deserialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">save_data</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#UnsignedInteger.deserialize"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.UnsignedInteger.deserialize" title="Link to this definition"></a></dt>
<dd><p>Perform sanity-checking on the save data as it is loaded from storage.
This isnt the same as what validator-functions provide (those work on
user input). For example, save data might be a timedelta or a list or
some other object.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>save_data</strong> The data to check.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><p><em>any (any)</em> </p>
<dl class="simple">
<dt>Whatever the Option needs to track, like a string or a</dt><dd><p>datetime. The display hook is responsible for what is actually
displayed to user.</p>
</dd>
</dl>
</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.SignedInteger">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.utils.optionclasses.</span></span><span class="sig-name descname"><span class="pre">SignedInteger</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">handler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">key</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">description</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">default</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#SignedInteger"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.SignedInteger" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.utils.optionclasses.BaseOption" title="evennia.utils.optionclasses.BaseOption"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseOption</span></code></a></p>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.SignedInteger.validate">
<span class="sig-name descname"><span class="pre">validate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">value</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#SignedInteger.validate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.SignedInteger.validate" title="Link to this definition"></a></dt>
<dd><p>Validate user input, which is presumed to be a string.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>value</strong> (<em>str</em>) User input.</p></li>
<li><p><strong>account</strong> (<a class="reference internal" href="evennia.accounts.accounts.html#evennia.accounts.accounts.AccountDB" title="evennia.accounts.accounts.AccountDB"><em>AccountDB</em></a>) The Account that is performing the validation.
This is necessary because of other settings which may affect the
check, such as an Accounts timezone affecting how their datetime
entries are processed.</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><em>any (any)</em> The results of the validation.</p>
</dd>
<dt class="field-odd">Raises<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference internal" href="evennia.accounts.accounts.html#evennia.accounts.accounts.ValidationError" title="evennia.accounts.accounts.ValidationError"><strong>ValidationError</strong></a> If input value failed validation.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.SignedInteger.deserialize">
<span class="sig-name descname"><span class="pre">deserialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">save_data</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#SignedInteger.deserialize"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.SignedInteger.deserialize" title="Link to this definition"></a></dt>
<dd><p>Perform sanity-checking on the save data as it is loaded from storage.
This isnt the same as what validator-functions provide (those work on
user input). For example, save data might be a timedelta or a list or
some other object.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>save_data</strong> The data to check.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><p><em>any (any)</em> </p>
<dl class="simple">
<dt>Whatever the Option needs to track, like a string or a</dt><dd><p>datetime. The display hook is responsible for what is actually
displayed to user.</p>
</dd>
</dl>
</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.PositiveInteger">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.utils.optionclasses.</span></span><span class="sig-name descname"><span class="pre">PositiveInteger</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">handler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">key</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">description</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">default</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#PositiveInteger"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.PositiveInteger" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.utils.optionclasses.BaseOption" title="evennia.utils.optionclasses.BaseOption"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseOption</span></code></a></p>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.PositiveInteger.validate">
<span class="sig-name descname"><span class="pre">validate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">value</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#PositiveInteger.validate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.PositiveInteger.validate" title="Link to this definition"></a></dt>
<dd><p>Validate user input, which is presumed to be a string.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>value</strong> (<em>str</em>) User input.</p></li>
<li><p><strong>account</strong> (<a class="reference internal" href="evennia.accounts.accounts.html#evennia.accounts.accounts.AccountDB" title="evennia.accounts.accounts.AccountDB"><em>AccountDB</em></a>) The Account that is performing the validation.
This is necessary because of other settings which may affect the
check, such as an Accounts timezone affecting how their datetime
entries are processed.</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><em>any (any)</em> The results of the validation.</p>
</dd>
<dt class="field-odd">Raises<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference internal" href="evennia.accounts.accounts.html#evennia.accounts.accounts.ValidationError" title="evennia.accounts.accounts.ValidationError"><strong>ValidationError</strong></a> If input value failed validation.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.PositiveInteger.deserialize">
<span class="sig-name descname"><span class="pre">deserialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">save_data</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#PositiveInteger.deserialize"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.PositiveInteger.deserialize" title="Link to this definition"></a></dt>
<dd><p>Perform sanity-checking on the save data as it is loaded from storage.
This isnt the same as what validator-functions provide (those work on
user input). For example, save data might be a timedelta or a list or
some other object.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>save_data</strong> The data to check.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><p><em>any (any)</em> </p>
<dl class="simple">
<dt>Whatever the Option needs to track, like a string or a</dt><dd><p>datetime. The display hook is responsible for what is actually
displayed to user.</p>
</dd>
</dl>
</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.Duration">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.utils.optionclasses.</span></span><span class="sig-name descname"><span class="pre">Duration</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">handler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">key</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">description</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">default</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#Duration"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.Duration" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.utils.optionclasses.BaseOption" title="evennia.utils.optionclasses.BaseOption"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseOption</span></code></a></p>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.Duration.validate">
<span class="sig-name descname"><span class="pre">validate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">value</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#Duration.validate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.Duration.validate" title="Link to this definition"></a></dt>
<dd><p>Validate user input, which is presumed to be a string.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>value</strong> (<em>str</em>) User input.</p></li>
<li><p><strong>account</strong> (<a class="reference internal" href="evennia.accounts.accounts.html#evennia.accounts.accounts.AccountDB" title="evennia.accounts.accounts.AccountDB"><em>AccountDB</em></a>) The Account that is performing the validation.
This is necessary because of other settings which may affect the
check, such as an Accounts timezone affecting how their datetime
entries are processed.</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><em>any (any)</em> The results of the validation.</p>
</dd>
<dt class="field-odd">Raises<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference internal" href="evennia.accounts.accounts.html#evennia.accounts.accounts.ValidationError" title="evennia.accounts.accounts.ValidationError"><strong>ValidationError</strong></a> If input value failed validation.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.Duration.deserialize">
<span class="sig-name descname"><span class="pre">deserialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">save_data</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#Duration.deserialize"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.Duration.deserialize" title="Link to this definition"></a></dt>
<dd><p>Perform sanity-checking on the save data as it is loaded from storage.
This isnt the same as what validator-functions provide (those work on
user input). For example, save data might be a timedelta or a list or
some other object.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>save_data</strong> The data to check.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><p><em>any (any)</em> </p>
<dl class="simple">
<dt>Whatever the Option needs to track, like a string or a</dt><dd><p>datetime. The display hook is responsible for what is actually
displayed to user.</p>
</dd>
</dl>
</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.Duration.serialize">
<span class="sig-name descname"><span class="pre">serialize</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#Duration.serialize"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.Duration.serialize" title="Link to this definition"></a></dt>
<dd><p>Serializes the save data for Attribute storage.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p><em>any (any)</em> Whatever is best for storage.</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.Datetime">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.utils.optionclasses.</span></span><span class="sig-name descname"><span class="pre">Datetime</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">handler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">key</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">description</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">default</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#Datetime"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.Datetime" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.utils.optionclasses.BaseOption" title="evennia.utils.optionclasses.BaseOption"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseOption</span></code></a></p>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.Datetime.validate">
<span class="sig-name descname"><span class="pre">validate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">value</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#Datetime.validate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.Datetime.validate" title="Link to this definition"></a></dt>
<dd><p>Validate user input, which is presumed to be a string.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>value</strong> (<em>str</em>) User input.</p></li>
<li><p><strong>account</strong> (<a class="reference internal" href="evennia.accounts.accounts.html#evennia.accounts.accounts.AccountDB" title="evennia.accounts.accounts.AccountDB"><em>AccountDB</em></a>) The Account that is performing the validation.
This is necessary because of other settings which may affect the
check, such as an Accounts timezone affecting how their datetime
entries are processed.</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><em>any (any)</em> The results of the validation.</p>
</dd>
<dt class="field-odd">Raises<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference internal" href="evennia.accounts.accounts.html#evennia.accounts.accounts.ValidationError" title="evennia.accounts.accounts.ValidationError"><strong>ValidationError</strong></a> If input value failed validation.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.Datetime.deserialize">
<span class="sig-name descname"><span class="pre">deserialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">save_data</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#Datetime.deserialize"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.Datetime.deserialize" title="Link to this definition"></a></dt>
<dd><p>Perform sanity-checking on the save data as it is loaded from storage.
This isnt the same as what validator-functions provide (those work on
user input). For example, save data might be a timedelta or a list or
some other object.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>save_data</strong> The data to check.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><p><em>any (any)</em> </p>
<dl class="simple">
<dt>Whatever the Option needs to track, like a string or a</dt><dd><p>datetime. The display hook is responsible for what is actually
displayed to user.</p>
</dd>
</dl>
</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.Datetime.serialize">
<span class="sig-name descname"><span class="pre">serialize</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#Datetime.serialize"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.Datetime.serialize" title="Link to this definition"></a></dt>
<dd><p>Serializes the save data for Attribute storage.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p><em>any (any)</em> Whatever is best for storage.</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.Future">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.utils.optionclasses.</span></span><span class="sig-name descname"><span class="pre">Future</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">handler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">key</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">description</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">default</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#Future"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.Future" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.utils.optionclasses.Datetime" title="evennia.utils.optionclasses.Datetime"><code class="xref py py-class docutils literal notranslate"><span class="pre">Datetime</span></code></a></p>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.Future.validate">
<span class="sig-name descname"><span class="pre">validate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">value</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#Future.validate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.Future.validate" title="Link to this definition"></a></dt>
<dd><p>Validate user input, which is presumed to be a string.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>value</strong> (<em>str</em>) User input.</p></li>
<li><p><strong>account</strong> (<a class="reference internal" href="evennia.accounts.accounts.html#evennia.accounts.accounts.AccountDB" title="evennia.accounts.accounts.AccountDB"><em>AccountDB</em></a>) The Account that is performing the validation.
This is necessary because of other settings which may affect the
check, such as an Accounts timezone affecting how their datetime
entries are processed.</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><em>any (any)</em> The results of the validation.</p>
</dd>
<dt class="field-odd">Raises<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference internal" href="evennia.accounts.accounts.html#evennia.accounts.accounts.ValidationError" title="evennia.accounts.accounts.ValidationError"><strong>ValidationError</strong></a> If input value failed validation.</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.Lock">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.utils.optionclasses.</span></span><span class="sig-name descname"><span class="pre">Lock</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">handler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">key</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">description</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">default</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#Lock"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.Lock" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.utils.optionclasses.Text" title="evennia.utils.optionclasses.Text"><code class="xref py py-class docutils literal notranslate"><span class="pre">Text</span></code></a></p>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.optionclasses.Lock.validate">
<span class="sig-name descname"><span class="pre">validate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">value</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/optionclasses.html#Lock.validate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.optionclasses.Lock.validate" title="Link to this definition"></a></dt>
<dd><p>Validate user input, which is presumed to be a string.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>value</strong> (<em>str</em>) User input.</p></li>
<li><p><strong>account</strong> (<a class="reference internal" href="evennia.accounts.accounts.html#evennia.accounts.accounts.AccountDB" title="evennia.accounts.accounts.AccountDB"><em>AccountDB</em></a>) The Account that is performing the validation.
This is necessary because of other settings which may affect the
check, such as an Accounts timezone affecting how their datetime
entries are processed.</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><em>any (any)</em> The results of the validation.</p>
</dd>
<dt class="field-odd">Raises<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference internal" href="evennia.accounts.accounts.html#evennia.accounts.accounts.ValidationError" title="evennia.accounts.accounts.ValidationError"><strong>ValidationError</strong></a> If input value failed validation.</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
</section>
<div class="clearer"></div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="Main">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="../index.html">
<img class="logo" src="../_static/evennia_logo.png" alt="Logo of Evennia"/>
</a></p>
<search id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
</form>
</div>
</search>
<script>document.getElementById('searchbox').style.display = "block"</script>
<h3><a href="../index.html">Table of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">evennia.utils.optionclasses</a><ul>
<li><a class="reference internal" href="#evennia.utils.optionclasses.BaseOption"><code class="docutils literal notranslate"><span class="pre">BaseOption</span></code></a><ul>
<li><a class="reference internal" href="#evennia.utils.optionclasses.BaseOption.__init__"><code class="docutils literal notranslate"><span class="pre">BaseOption.__init__()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.BaseOption.changed"><code class="docutils literal notranslate"><span class="pre">BaseOption.changed</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.BaseOption.default"><code class="docutils literal notranslate"><span class="pre">BaseOption.default</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.BaseOption.value"><code class="docutils literal notranslate"><span class="pre">BaseOption.value</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.BaseOption.set"><code class="docutils literal notranslate"><span class="pre">BaseOption.set()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.BaseOption.load"><code class="docutils literal notranslate"><span class="pre">BaseOption.load()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.BaseOption.save"><code class="docutils literal notranslate"><span class="pre">BaseOption.save()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.BaseOption.deserialize"><code class="docutils literal notranslate"><span class="pre">BaseOption.deserialize()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.BaseOption.serialize"><code class="docutils literal notranslate"><span class="pre">BaseOption.serialize()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.BaseOption.validate"><code class="docutils literal notranslate"><span class="pre">BaseOption.validate()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.BaseOption.display"><code class="docutils literal notranslate"><span class="pre">BaseOption.display()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.Text"><code class="docutils literal notranslate"><span class="pre">Text</span></code></a><ul>
<li><a class="reference internal" href="#evennia.utils.optionclasses.Text.deserialize"><code class="docutils literal notranslate"><span class="pre">Text.deserialize()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.Email"><code class="docutils literal notranslate"><span class="pre">Email</span></code></a><ul>
<li><a class="reference internal" href="#evennia.utils.optionclasses.Email.validate"><code class="docutils literal notranslate"><span class="pre">Email.validate()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.Email.deserialize"><code class="docutils literal notranslate"><span class="pre">Email.deserialize()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.Boolean"><code class="docutils literal notranslate"><span class="pre">Boolean</span></code></a><ul>
<li><a class="reference internal" href="#evennia.utils.optionclasses.Boolean.validate"><code class="docutils literal notranslate"><span class="pre">Boolean.validate()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.Boolean.display"><code class="docutils literal notranslate"><span class="pre">Boolean.display()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.Boolean.serialize"><code class="docutils literal notranslate"><span class="pre">Boolean.serialize()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.Boolean.deserialize"><code class="docutils literal notranslate"><span class="pre">Boolean.deserialize()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.Color"><code class="docutils literal notranslate"><span class="pre">Color</span></code></a><ul>
<li><a class="reference internal" href="#evennia.utils.optionclasses.Color.validate"><code class="docutils literal notranslate"><span class="pre">Color.validate()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.Color.display"><code class="docutils literal notranslate"><span class="pre">Color.display()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.Color.deserialize"><code class="docutils literal notranslate"><span class="pre">Color.deserialize()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.Timezone"><code class="docutils literal notranslate"><span class="pre">Timezone</span></code></a><ul>
<li><a class="reference internal" href="#evennia.utils.optionclasses.Timezone.validate"><code class="docutils literal notranslate"><span class="pre">Timezone.validate()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.Timezone.default"><code class="docutils literal notranslate"><span class="pre">Timezone.default</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.Timezone.deserialize"><code class="docutils literal notranslate"><span class="pre">Timezone.deserialize()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.Timezone.serialize"><code class="docutils literal notranslate"><span class="pre">Timezone.serialize()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.UnsignedInteger"><code class="docutils literal notranslate"><span class="pre">UnsignedInteger</span></code></a><ul>
<li><a class="reference internal" href="#evennia.utils.optionclasses.UnsignedInteger.validator_key"><code class="docutils literal notranslate"><span class="pre">UnsignedInteger.validator_key</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.UnsignedInteger.validate"><code class="docutils literal notranslate"><span class="pre">UnsignedInteger.validate()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.UnsignedInteger.deserialize"><code class="docutils literal notranslate"><span class="pre">UnsignedInteger.deserialize()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.SignedInteger"><code class="docutils literal notranslate"><span class="pre">SignedInteger</span></code></a><ul>
<li><a class="reference internal" href="#evennia.utils.optionclasses.SignedInteger.validate"><code class="docutils literal notranslate"><span class="pre">SignedInteger.validate()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.SignedInteger.deserialize"><code class="docutils literal notranslate"><span class="pre">SignedInteger.deserialize()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.PositiveInteger"><code class="docutils literal notranslate"><span class="pre">PositiveInteger</span></code></a><ul>
<li><a class="reference internal" href="#evennia.utils.optionclasses.PositiveInteger.validate"><code class="docutils literal notranslate"><span class="pre">PositiveInteger.validate()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.PositiveInteger.deserialize"><code class="docutils literal notranslate"><span class="pre">PositiveInteger.deserialize()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.Duration"><code class="docutils literal notranslate"><span class="pre">Duration</span></code></a><ul>
<li><a class="reference internal" href="#evennia.utils.optionclasses.Duration.validate"><code class="docutils literal notranslate"><span class="pre">Duration.validate()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.Duration.deserialize"><code class="docutils literal notranslate"><span class="pre">Duration.deserialize()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.Duration.serialize"><code class="docutils literal notranslate"><span class="pre">Duration.serialize()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.Datetime"><code class="docutils literal notranslate"><span class="pre">Datetime</span></code></a><ul>
<li><a class="reference internal" href="#evennia.utils.optionclasses.Datetime.validate"><code class="docutils literal notranslate"><span class="pre">Datetime.validate()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.Datetime.deserialize"><code class="docutils literal notranslate"><span class="pre">Datetime.deserialize()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.Datetime.serialize"><code class="docutils literal notranslate"><span class="pre">Datetime.serialize()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.Future"><code class="docutils literal notranslate"><span class="pre">Future</span></code></a><ul>
<li><a class="reference internal" href="#evennia.utils.optionclasses.Future.validate"><code class="docutils literal notranslate"><span class="pre">Future.validate()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#evennia.utils.optionclasses.Lock"><code class="docutils literal notranslate"><span class="pre">Lock</span></code></a><ul>
<li><a class="reference internal" href="#evennia.utils.optionclasses.Lock.validate"><code class="docutils literal notranslate"><span class="pre">Lock.validate()</span></code></a></li>
</ul>
</li>
</ul>
</li>
</ul>
<div>
<h4>Previous topic</h4>
<p class="topless"><a href="evennia.utils.logger.html"
title="previous chapter">evennia.utils.logger</a></p>
</div>
<div>
<h4>Next topic</h4>
<p class="topless"><a href="evennia.utils.optionhandler.html"
title="next chapter">evennia.utils.optionhandler</a></p>
</div>
<div role="note" aria-label="source link">
<!--h3>This Page</h3-->
<ul class="this-page-menu">
<li><a href="../_sources/api/evennia.utils.optionclasses.md.txt"
rel="nofollow">Show Page Source</a></li>
</ul>
</div><h3>Links</h3>
<ul>
<li><a href="https://www.evennia.com/docs/latest/index.html">Documentation Top</a> </li>
<li><a href="https://www.evennia.com">Evennia Home</a> </li>
<li><a href="https://github.com/evennia/evennia">Github</a> </li>
<li><a href="http://games.evennia.com">Game Index</a> </li>
<li>
<a href="https://discord.gg/AJJpcRUhtF">Discord</a> -
<a href="https://github.com/evennia/evennia/discussions">Discussions</a> -
<a href="https://evennia.blogspot.com/">Blog</a>
</li>
</ul>
<h3>Doc Versions</h3>
<ul>
<li>
<a href="https://www.evennia.com/docs/latest/index.html">latest (main branch)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/5.x/index.html">v5.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/4.x/index.html">v4.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/3.x/index.html">v3.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/2.x/index.html">v2.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/1.x/index.html">v1.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/0.x/index.html">v0.9.5 branch (outdated)</a>
</li>
</ul>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="Related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="evennia.utils.optionhandler.html" title="evennia.utils.optionhandler"
>next</a> |</li>
<li class="right" >
<a href="evennia.utils.logger.html" title="evennia.utils.logger"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> &#187;</li>
<li class="nav-item nav-item-2"><a href="evennia-api.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-3"><a href="evennia.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-4"><a href="evennia.utils.html" >evennia.utils</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.utils.optionclasses</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2024, The Evennia developer community.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 8.2.3.
</div>
</body>
</html>